Perl 如何将特殊字符转换为UTF-8?
当我从MySQL数据库中提取数据时,一些输出具有特殊字符, 当在例如emacs中打开时,它将解码为Perl 如何将特殊字符转换为UTF-8?,perl,Perl,当我从MySQL数据库中提取数据时,一些输出具有特殊字符, 当在例如emacs中打开时,它将解码为\240和\346 在UTF-8终端中显示时,特殊字符显示为� 因此,使用的编码方法是每个字符仅使用1字节 例如,我可以看到\346应该是æ 问题 Perl是否有一个模块可以将这些特殊字符编码为UTF-8?使用encode::decode将数据从任何编码解码为Perl的内部格式 然后,在将数据写入文件时,设置'utf8'层以使数据以UTF-8写入 use Encode; my $data_from
\240
和\346
在UTF-8终端中显示时,特殊字符显示为�代码>
因此,使用的编码方法是每个字符仅使用1字节
例如,我可以看到\346
应该是æ
问题
Perl是否有一个模块可以将这些特殊字符编码为UTF-8?使用encode::decode
将数据从任何编码解码为Perl的内部格式
然后,在将数据写入文件时,设置'utf8'
层以使数据以UTF-8写入
use Encode;
my $data_from_database = ...;
my $perl_data = decode('ISO-8859-1', $data_from_database);
binmode STDOUT, ':utf8';
print $perl_data;
?问题不在于emacs。我希望Perl将内容编码为UTF-8。您是否已将终端设置为显示UTF-8?您可能只需要使用编码/解码。请看:@Joe that solved the problem=)如果你把它贴出来,我什么时候会接受它作为答案。