首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElementTree和UnicodeEncodeError:

ElementTree和UnicodeEncodeError:
EN

Stack Overflow用户
提问于 2014-01-14 18:40:22
回答 1查看 590关注 0票数 0

我正在处理以下xml文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<tag>…</tag>

就像python文档所说的:

代码语言:javascript
复制
import xml.etree.cElementTree as ET

tree = ET.parse('file.xml')
print(tree.getroot().text)

但不幸的是,我得到了这样一个错误:

代码语言:javascript
复制
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>

我到底做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2014-01-14 18:58:05

不要打印值。处理它(你更有可能要做的事情)将会工作得很好。

如果您真的想打印它,首先将unicode字符串转换为您的输出介质可以处理的东西(例如,UTF-8编码字符串)。如果里面有奇怪的字符,你至少可以用这个来转换剩下的字符:

代码语言:javascript
复制
byteString = value.encode(sys.stdout.encoding, 'ignore')
originalWithoutTrouble = byteString.decode(sys.stdout.encoding)
print(originalWithoutTrouble)

但当然,一些字符可能会丢失(本例中省略号,正如Martijn所指出的)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21111460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档