Как читать китайский текст из базы данных с помощью DBI?

У меня есть база данных со списком статей на китайском языке, и у меня возникла проблема, когда я пытаюсь выполнить запрос, чтобы получить все названия статей, все, что я вижу, это ??? а не китайский текст.

my $db_connection = DBI->connect("DBI:mysql:host=localhost;database=articles", 'root', ''); 
my $con  = $db_connection->prepare( "select * from articles" );

$con->execute;

while (my $infoD = $con->fetchrow_hashref())
{
    $INFO{$infoD->{name}} .=   decode('utf8', $infoD->{name});  
}

person Pedro    schedule 29.06.2020    source источник


Ответы (1)


объявите в строке подключения также, что он должен использовать utf8

DBI->connect("DBI:mysql:host=localhost;database=articles", 'root', '',{mysql_enable_utf8 => 1}); 

Если у вас есть utf8mb4

вам нужно заменить {mysql_enable_utf8 => 1} на {mysql_enable_utf8mb4 => 1}

Редактировать:

также см. здесь UTF8 полностью

person nbk    schedule 29.06.2020