python';ascii';编解码器可以';t编码字符

python';ascii';编解码器可以';t编码字符,python,xml,python-2.7,rss,elementtree,Python,Xml,Python 2.7,Rss,Elementtree,我在尝试显示rss提要中的内容时不断遇到错误。我尝试过的feed是Teksyndicate“kitchen sink”feed(utf-8)和AMD新闻feed(未设置编码),它们都下载到我的计算机上,所以我每次运行代码时都不会ping它们的服务器 teksyndicate提要给了我'UnicodeEncodeError:'charmap'编解码器无法对183位的字符u'\xc2'进行编码:字符映射到' amd提要提供了“UnicodeEncodeError:“charmap”编解码器无法对34

我在尝试显示rss提要中的内容时不断遇到错误。我尝试过的feed是Teksyndicate“kitchen sink”feed(utf-8)和AMD新闻feed(未设置编码),它们都下载到我的计算机上,所以我每次运行代码时都不会ping它们的服务器

teksyndicate提要给了我'UnicodeEncodeError:'charmap'编解码器无法对183位的字符u'\xc2'进行编码:字符映射到'

amd提要提供了“UnicodeEncodeError:“charmap”编解码器无法对349位置的字符u'\u2122'进行编码:字符映射到' 引发错误的代码:

import xml.etree.ElementTree as ET
xmlTree = ET.parse('amd.rss')
xmlRoot = xmlTree.getroot()
# <tag attrib>text<child/>...</tag>tail
# above pulled from Element tree lib file
for i in list(xmlTree.iter()):
    if i.text != None:
        print i.tag + ': ' + i.text
    else:
        print i.tag + ': None'
print '\n\nxmlRoot'
print xmlRoot.tag
print xmlRoot.attrib
print xmlRoot.text
print xmlRoot.tail
将xml.etree.ElementTree作为ET导入
xmlTree=ET.parse('amd.rss')
xmlRoot=xmlTree.getroot()
#文本…尾部
#上面是从元素树库文件中提取的
对于列表中的i(xmlTree.iter()):
如果i.text!=无:
打印i.tag+':'+i.text
其他:
打印i.tag+':无
打印“\n\nxmlRoot”
打印xmlRoot.tag
打印xmlRoot.attrib
打印xmlRoot.text
打印xmlRoot.tail

另外,我想制作一个rss阅读器。我知道还有一些,但我想做我自己的,只是想尝试一下。那就是我遇到这个错误的时候,我不知道如何修复它。此时,我只是在尝试学习ElementTree。print语句试图将所有内容表示为字符串。你的问题本质上是重复的。我是用谷歌找到的,你也应该找到


问题是除非您指定并编码,否则将使用ASCII,并且许多Unicode字符无法转换为ASCII(其中只有128个字符)。另一个问题的答案应该告诉您要更正什么。

标准输出与什么类型的内容相关?听起来您的终端无法处理unicode。完整的回溯错误消息可能会有所帮助。请在空闲时尝试(空闲时支持unicode)。。。。一个完全可运行的示例(即调用webservice获取rss)将更有帮助。。。这些字符应该是什么(u“\x2c”看起来像某种逗号?)而另一个是商标符号?可能的重复结果是使用“str(unicode(fileCon,errors='ignore')”查找解决方案,其中fileCon是文件的内容。与解决方案相关的其他东西并没有解决问题,我不得不使用它们的概念。所以他们没有解决方案,但却找到了解决方案。我一直在寻找,我尝试的每件事都会出现不同的错误。唯一的区别是显示的字符代码。我曾尝试将其编码为一种特殊类型,如utf-8、unicode和ascii,甚至对其进行解码,但我不断出错。