當前位置:成語大全網 - 新華字典 - Python問題,請求幫忙,這是怎麽回事

Python問題,請求幫忙,這是怎麽回事

python 解析xml文件出現錯誤:xml.parsers.expat.ExpatError: unknown encoding: line 1, column 30

這是由於編碼問題。

原因說明:

shell環境的 LANG=zh_CN.UTF-8

執行壹個程序,生成了壹個XML文件,在程序中將xml文件的編碼設置成了GB2312,如“<?xml version="1.0" encoding="GB2312"?>”。

然後使用xml.etree.ElementTree解析這個xml文件,就出現了錯誤:“xml.parsers.expat.ExpatError: unknown encoding: line 1, column 30”。

實際上,由於LANG的作用,程序生成XML文件編碼是UTF-8,並不是GB2312,所以解析時出現了錯誤。

(查看文本文件編碼可以在vim下執行 :set fileencoding 來查看。)

解決辦法:

將XML文件編碼轉換為GB2312,例如使用 iconv 命令,

或者

修改XML文件的編碼為UTF-8,如:“<?xml version="1.0" encoding="UTF-8"?>”