【问题标题】:How to make Perl's XML::Libxml serializer to use utf-8 encoding?如何使 Perl 的 XML::Libxml 序列化程序使用 utf-8 编码?
【发布时间】:2019-02-12 00:50:09
【问题描述】:

我想用 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);

【问题讨论】:

    标签: xml perl serialization utf-8


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-01
      • 2016-10-10
      • 1970-01-01
      • 2015-03-29
      • 2017-06-18
      • 2011-02-28
      • 1970-01-01
      • 2012-10-23
      相关资源
      最近更新 更多