我正在处理以下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>我到底做错了什么?
发布于 2014-01-14 18:58:05
不要打印值。处理它(你更有可能要做的事情)将会工作得很好。
如果您真的想打印它,首先将unicode字符串转换为您的输出介质可以处理的东西(例如,UTF-8编码字符串)。如果里面有奇怪的字符,你至少可以用这个来转换剩下的字符:
byteString = value.encode(sys.stdout.encoding, 'ignore')
originalWithoutTrouble = byteString.decode(sys.stdout.encoding)
print(originalWithoutTrouble)但当然,一些字符可能会丢失(本例中省略号…,正如Martijn所指出的)。
https://stackoverflow.com/questions/21111460
复制相似问题