我必須解析沒有用正確編碼標記的XML(在XML::LibXML
)。具體來說,它包含德語ü
變音符號(可能有其他符號),但沒有<?xml version="1.0" encoding="iso-8859-1" ?>
等。當我嘗試使用的libxml這條線來分析這樣的:如何忽略由於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?
「我不明白爲什麼一個簡單的德語變音符號是不正確的UTF-8?」根據你所說的,你有字節「FC」(「ü」的iso-8859-1編碼)。 'FC'不是有效的UTF-8。 「ü」的UTF-8編碼是字節「C3 BC」。 – ikegami 2014-08-28 14:35:03