perl XML :: LibXML utf8编码

时间:2015-01-19 21:03:48

标签: xml perl utf-8

我使用的是perl模块XML :: LibXML。

XML :: LibXML get string,其中包含带有utf8编码的整个xml文件。 我使用 findnodes textContent 从xml获取信息。 但是当我尝试使用 charset = UTF-8 将它们打印到HTML页面时,它会出现像“ ”这样的坏字符。 当我不在html页面的头部使用 charset = UTF-8 时,它是正确的但是我手动打印的页面的其余部分是错误的。 能帮我解决一下吗?

感谢您的建议。

2 个答案:

答案 0 :(得分:1)

正如所料,textContent以“已解码”形式(Unicode代码点)返回文本。文件处理期望字节,因此您需要将文本编码为字节。您可以使用

指示Perl为您执行此操作
use open ':std', ':encoding(UTF-8)';

答案 1 :(得分:0)

确保您拥有脚本顶部:

use utf8;
binmode $_, ":utf8" for qw/STDOUT STDIN STDERR/;