【发布时间】:2014-02-02 09:20:54
【问题描述】:
我正在处理以下 xml 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<tag>…</tag>
就像 python 文档说的:
import xml.etree.cElementTree as ET
tree = ET.parse('file.xml')
print(tree.getroot().text)
但不幸的是我遇到了这样的错误:
Traceback (most recent call last):
File "main.py", line 48, in <module>
print(tree.getroot().text)
File "C:\Python33\lib\encodings\cp852.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2026' in position 0: character maps to <undefined>
我做错了什么?
【问题讨论】:
-
您的控制台编解码器无法处理水平省略号字符。 Elementtree 做得很好,并将 XML 内容解码为 Unicode 值。
print()但是需要再次编码字符以匹配您的控制台编码,并且您的 Windows 代码页无法处理此特定字符。
标签: python python-3.x unicode elementtree