Как я могу прочитать специальные символы из таблицы SQLSERVER в Perl? - PullRequest
0 голосов
/ 18 мая 2019

с помощью perl Я пытаюсь прочитать некоторые записи из базы данных SQLSERVER, которая имеет кодировку по умолчанию = Latin1_General_CI_AS

Эти записи имеют некоторые специальные символы (например: à è ì ò ù)

Когда я извлекаю эти записи, вывод perl не показывает эти специальные символы.

Я пробовал функции кодирования / декодирования, но безуспешно ...

use DBI;
# DBD::ADO 
$dsn = "Provider=sqloledb;Trusted Connection=yes;"; 
$dsn .= "Server=$host;Database=$database"; 
my $dbh = DBI->connect("dbi:ADO:$dsn",  $user,  $auth, 
 { RaiseError => 1, AutoCommit => 1} 
 ) || die "Database connection not made: $DBI::errstr";

$sql = "select idnews, titolo from news where idnews>$ultimoidinserito";

 $sth = $dbh->prepare($sql);
 $sth->execute
 or die "SQL Error: $DBI::errstr\n";
  while(@row = $sth->fetchrow_array) 
  {
    $titolo=lc($row[1]);
    $idnews=$row[0];
        print "$titolo\n";
 }

Ожидается некоторая запись:

Eurolega la финал sarà ЦСКА-Эфес

Futuro Allegri ecco dove può andare

Полученный результат:

Eurolega la финал sarα CSKA-Efes

Futuro Allegri ecco dove pu≥ andare

...