我在我的perl
脚本与DBI
和MySQL
使用匈牙利语言与好的ő和ű字符。所有的数据库编码都是UTF8,而且我在任何地方都使用utf8。该表采用utf8_general_ci编码,行也是utf8_general_ci。UTF8字符编码在Perl DBI,MySQL与ő和ű字符
我试图将表和行编码更改为utf8_hungarian_ci和utf8_unicode_ci。这没有帮助。
当我使用PHPMyAdmin插入行时,它似乎一切正常,并且当我检查控制台时也有不错的。只有当我尝试在Perl DBI连接中使用时,只有在这种情况下,我才看到'?'字符而不是'ő','Ő','ű'和'Ű'字符。
这里是我的perl脚本:
use uft8;
use DBI
my $db = DBI->connect("dbi:mysql:dbname=...", "user", "passwd",
{mysql_enable_utf8 => 1}) || die $DBI::error;
$db->do("INSERT INTO mytable (name) VALUES ('őűŐŰ')");
my $dbh = $db->prepare("SELECT name FROM mytable;");
$dbh->execute;
while (my @this = $dbh->fetchrow_array) {
print $this[0]."\n";
}
有什么不对? DBI有特殊的参数或设置吗?或
运行'SET NAMES UTF8'插入 – Mihai
根据本应该由mysql_enable_utf8完成的文件之前,但我在DBI不是专家。 –