当尝试从Perl向mysql插入阿拉伯语时,阿拉伯语内容显示在数据库中,如أ™إ أکآ³أکآ´أ™إ
,但是当我从数据库中检索值时,它将在网页中显示为ÙسشÙ
。
请注意,我的数据库和表格字符集是utf8,而COLLATE是utf8_general_ci。
答案 0 :(得分:1)
连接到MySQL后尝试使用SET NAMES 'UTF8'
:
my $dsn = "DBI:mysql:$base_name:$mysql_host_url";
my $dbh = DBI->connect($dsn, $user_db, $password_db) or die $DBI::errstr;
$dbh->do(qq{SET NAMES "utf8"});
正如manual所说:
SET NAMES表示客户端将用于发送SQL的字符集 语句到服务器...它还指定服务器应该的字符集 用于将结果发送回客户端。
答案 1 :(得分:0)
我为我的问题找到了另一个解决方案, 这个mysql数据库的解决方案