2012-08-06 24 views
-2

如何配置minidom實例以獲得unicode編解碼器?Python 2.x minidom:如何設置unicode編解碼器?

處理在XML文件中的此片段:

<title type="text">ME850單片機開發實驗儀(增強配置)(產品瀏覽)-偉納電子-http://www.willar.com/</title> 

產生這樣的錯誤:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 5-12: ordinal not in range(128) 

更新:如預期在Python 3工程;顯然這是2.x的一個已知限制。

+0

XML是UTF-8通常不是Unicode。在傳遞給minidom之前,編碼爲UTF-8? – 2012-08-06 19:45:53

回答

4

在Python 2.x中,minidom只能解析字節字符串。要麼首先解碼你的文檔(提示:更具體的建議將需要你正在運行的代碼),或將其編碼爲UTF-8。

或者,您可以切換到Python 3.x,其中minidom可以處理字節以及字符串。

0

你可以使用:

str.encode('utf-8')