【发布时间】:2014-08-28 13:48:00
【问题描述】:
我必须解析未使用正确编码标记的 XML(在 XML::LibXML 中)。具体来说,它包含一个德语ü Umlaut(可能还有其他),但没有<?xml version="1.0" encoding="iso-8859-1" ?> 等。当我尝试使用这一行使用 LibXML 解析它时:
my $smDOM = $PRSR->load_xml(location => $smfile, no_blanks => 1)
我收到错误parser error : Input is not proper UTF-8, indicate encoding !。
我也试过了
my $smDOM = $PRSR->load_xml(location => $smfile, no_blanks => 1, encoding=> "iso-8859-1");
导致同样的错误。
- 有没有办法禁用 UTF-8 作为默认编码?
- 或者在解析时忽略编码错误?
- 或者在调用或创建解析器时指定不同的编码?
- 顺便说一句,我不明白为什么简单的德语变音符号不是正确的 UTF-8?
【问题讨论】:
-
Re “我不明白为什么简单的德语变音符号不是正确的 UTF-8?”根据您所说的(“ü”的iso-8859-1编码),您有字节
FC。FC不是有效的 UTF-8。 “ü”的UTF-8编码为字节C3 BC。
标签: xml perl parsing encoding utf-8