5
当我从MySQL数据库中提取数据时,某些输出在打开时会有特殊字符 。 emacs解码为\240
和\346
。如何将特殊字符转换为UTF-8?
当在UTF-8终端所示,特殊字符被示出为�
所以使用的编码接缝只使用每个字符1个字节。
我可以例如看到\346
应该是æ
。
问题
还包括Perl具有能够编码这些特殊字符以UTF-8的模块?
当我从MySQL数据库中提取数据时,某些输出在打开时会有特殊字符 。 emacs解码为\240
和\346
。如何将特殊字符转换为UTF-8?
当在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;
http://blog.jonnay.net/archives/820-Emacs-and-UTF-8-Encoding.html? – 2012-03-09 15:51:37
问题不在于emacs。我希望Perl将内容编码为UTF-8。 – 2012-03-09 15:58:13
你有没有设置终端来显示utf-8? – 2012-03-09 16:05:32