Perl DBI,MySQL中使用ő和ű字符的UTF8字符编码

netdjw

我使用的是漂亮的O和我ű字符匈牙利语言perl与文字DBIMySQL所有数据库编码都是UTF8,我到处都使用utf8。该表采用utf8_general_ci编码,并且行也过于utf8_general_ci。

我试图将表和行编码更改为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是否有特殊的参数或设置?或者

AK荷兰

删除该mysql_enable_utf8行,您的脚本对我有用。还请记住始终使用strictwarnings

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use DBI;

my $dbh = DBI->connect(
    "dbi:mysql:dbname=$dbname;host=$host;port=$port;",
    $username,
    $pw,
);
$dbh->do("INSERT INTO mytable (name) VALUES ('őűŐŰ')");
my $sth = $dbh->prepare("SELECT name FROM mytable");
$sth->execute;
while(my ($name) = $sth->fetchrow_array) {
    print "$name\n"; # őűŐŰ
}
exit;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Perl DBI,MySQL中使用ő和ű字符的UTF8字符编码

来自分类Dev

Perl中的JSON编码/解码utf8字符串

来自分类Dev

Perl中的JSON编码/解码utf8字符串

来自分类Dev

用shell perl替换UTF-8字符

来自分类Dev

如何在Perl中将带重音符号和其他外来字符编码为UTF8

来自分类Dev

perl XML :: LibXML utf8编码

来自分类Dev

perl XML :: LibXML utf8编码

来自分类Dev

Perl字符串操作和utf8 / unicode

来自分类Dev

Swift UTF8编码和非UTF8字符

来自分类Dev

MySQL配置的JDBC URL使用utf8字符编码

来自分类Dev

Perl中的波兰语字符[HTML :: TreeBuilder和utf8输入文件]

来自分类Dev

Perl中的波兰语字符[HTML :: TreeBuilder和utf8输入文件]

来自分类Dev

在Perl中将字符串编码为UTF-8

来自分类Dev

使用Perl将utf8保存和检索到MySQL的步骤

来自分类Dev

在Perl中,为什么拆分为字符时utf-8字符串的打印方式不同?

来自分类Dev

UTF8字符编码错误

来自分类Dev

使用节点请求模块的UTF8字符编码

来自分类Dev

MySQL JDBC与Perl DBI

来自分类Dev

MySQL JDBC与Perl DBI

来自分类Dev

PERL | IMAP文件夹编码。UTF8-> UTF7-> UTF8 =失败

来自分类Dev

Perl XML :: Twig字符编码

来自分类Dev

如何在Scandir php的路径地址中使用UTF8字符

来自分类Dev

mySQL:索引表上的utf8字符集和重复键错误

来自分类Dev

在Perl中打印UTF8?

来自分类Dev

无法确定MySQL或PHP是否对UTF8字符串进行了错误编码

来自分类Dev

无法确定MySQL或PHP是否对UTF8字符串进行了错误编码

来自分类Dev

MySQL多重输出和Perl DBI

来自分类Dev

MySQL多重输出和Perl DBI

来自分类Dev

使用utf8时不会输出Perl警告,严格和诊断错误