如何从XML输出中显示非ASCII字符

时间:2011-09-05 13:15:12

标签: html xml unicode

我在XML元素中得到了这个输出:

£111.00

应为£111.00

如何对其进行排序,以便显示所有unicode字符而不是代码。我正在使用linux工具wget从Internet获取xml文件。也许是某种转换器?

我在putty中查看文件,我正在解析文件,我想在解析之前清理输入。

我正在使用xml_grep2来获取我想要的元素,然后使用cat filename |阅读.....

2 个答案:

答案 0 :(得分:0)

您可以使用HTML :: Entities用文字字符代码替换实体。不过,我不知道它的覆盖范围有多好。如果您对Perl不满意,必然会有其他语言的类似工具。 http://metacpan.org/pod/HTML::Entities

sh$ echo '£111.00' | perl -CSD -MHTML::Entities -pe 'decode_entities($_)'
£111.00    

如果未安装HTML :: Entities模块,则无效。如果您需要安装它,有很多关于互联网上CPAN的教程。

修改:添加用法示例。您的系统上可能不需要-CSD选项,但至少在OSX上,我没有它就有垃圾输出。

答案 1 :(得分:0)

好的,我现在要关闭这个问题。

使用xml_grep2解析文件后,我能够获得干净的输出,但是在文件中看到了这个字符。我将字符集的putty设置从ISO-8859改为UTF-8来解决这个问题。