从perl插入arabic到mysql

时间:2013-11-28 13:38:27

标签: mysql perl arabic

当尝试从Perl向mysql插入阿拉伯语时,阿拉伯语内容显示在数据库中,如أ™إ أکآ³أکآ´أ™إ,但是当我从数据库中检索值时,它将在网页中显示为ÙسشÙ

请注意,我的数据库和表格字符集是utf8,而COLLATE是utf8_general_ci。

2 个答案:

答案 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数据库的解决方案

Change MySQL default character set to UTF-8 in my.cnf?