perl XML::LibXML utf8编码
我使用的是perl模块XML::LibXML LibXML get字符串,它包含使用utf8编码的整个XML文件。 我使用findnodes和textContent从xml获取信息。 但是,当我试图使用charset=UTF-8将它们打印到HTML页面时,会出现一些不好的字符,比如“�". 当我在html页面的头部不使用charset=UTF-8时,它是正确的,但我手动打印的页面的其余部分是错误的。 你能帮我弄清楚吗perl XML::LibXML utf8编码,xml,perl,utf-8,Xml,Perl,Utf 8,我使用的是perl模块XML::LibXML LibXML get字符串,它包含使用utf8编码的整个XML文件。 我使用findnodes和textContent从xml获取信息。 但是,当我试图使用charset=UTF-8将它们打印到HTML页面时,会出现一些不好的字符,比如“�". 当我在html页面的头部不使用charset=UTF-8时,它是正确的,但我手动打印的页面的其余部分是错误的。 你能帮我弄清楚吗 感谢您的建议。确保您的脚本顶部有: use utf8; binmode $_,
感谢您的建议。确保您的脚本顶部有:
use utf8;
binmode $_, ":utf8" for qw/STDOUT STDIN STDERR/;
应该是,
textContent
以其“解码”形式(Unicode代码点)返回文本。文件句柄需要字节,因此您需要将文本编码为字节。您可以使用
use open ':std', ':encoding(UTF-8)';
binmode
语句最好写为useopenqw/:std:utf8/
,尽管它也为程序中的任何其他open
语句设置默认模式。它工作正常,但当我在自己的模块顶部使用它,然后在某些脚本中使用该模块时,脚本会自动使用它,页面的其余部分是wro有没有办法告诉脚本-不要使用“useopen”:std',':encoding(UTF-8)';“希望你能理解我的问题。