我是 Perl 的新手,正在开发一个遗留应用程序。我的数据库中缺少一些特殊字符,例如 ä,å,ö。以前,Mysql 数据库是 latin1 排序规则,现在改为 UTF-8 默认值。当我查看数据库值时,这些字符没有改变(仍然为 å、ö、ä 获得一些其他字符)。我查看了 perl 代码,发现这种编码和字符集似乎不起作用。任何帮助表示赞赏。谢谢。
use Encode qw/is_utf8 decode/;
my($q) = CGI->new();
$q->charset('utf-8');
$q->header(-charset => 'utf-8', -expires => '-1d')
连接到数据库
my($dbh) = DBI->connect($config{'dbDriver'},$config{'dbUser'},$config{'dbPass'}) or die "Kunde inte ansluta till $config{'dataSource'}: " . $DBI::errstr;
$dbh->{'mysql_enable_utf8'} = 1;
$dbh->do('SET NAMES utf8');