提问人:lmocsi 提问时间:2/12/2019 更新时间:2/12/2019 访问量:282
如何使 Perl 的 XML::Libxml 序列化程序使用 utf-8 编码?
How to make Perl's XML::Libxml serializer to use utf-8 encoding?
问:
我想用 XML::LibXML 序列化 xml,但它总是将 utf-8 字符转换为 html 表示形式:我得到 á从“á”等...
我怎样才能让它改用utf-8?
use strict;
use XML::LibXML;
use utf8;
my $str = '<item><name>árvíztűrő tükörfúrógép</name></item>';
my $dom = XML::LibXML->load_xml(string => $str);
print $str."\n";
print $dom->serialize(1);
答:
5赞
ikegami
2/12/2019
#1
my $str = '<?xml version="1.0" encoding="UTF-8"?><item><name>árvíztűrő tükörfúrógép</name></item>';
my $doc = XML::LibXML->load_xml( string => $str );
print $doc->serialize(1);
或
my $str = '<item><name>árvíztűrő tükörfúrógép</name></item>';
my $doc = XML::LibXML->load_xml( string => $str );
$doc->setEncoding("UTF-8");
print $doc->serialize(1);
评论