非 ASCII 字符的语法错误

117

我正在尝试解析包含一些非ASCII字符的XML文件,

代码如下:

from lxml import etree
from lxml import objectify
content = u'<?xml version="1.0" encoding="utf-8"?><div>Order date                            : 05/08/2013 12:24:28</div>'
mail.replace('\xa0',' ')
xml = etree.fromstring(mail)
但是它在“content = ...”这一行给我显示错误。
syntaxError: Non-ASCII character '\xc2' in file /home/projects/ztest/responce.py on line 3, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

终端上运行正常,但在Eclipse IDE上运行会出错。

不知道该如何解决。


6
我不认为这是重复的。人们经常遇到Python编码问题。在Stack Overflow拥有这样丰富的问题描述风格可以让我们的知识库变得更好。 - DehengYe
4
如果你将一个 Python 3 文件导入到 Python 2 解释器中,很可能会遇到这个错误。*(请不要关闭此问题 - '\xc2' 是一个非常特殊的问题 - 并且与所谓的重复问题所提出的问题非常不同。答案应该在这里明确表述。)* - markling
1个回答

282

1
如果我不包含这行代码,那么Python3就不会报错。然而,Python2会报错。使其在Python2中正常工作的唯一方法是添加这行代码 # -*- coding: utf-8 -*-。但为什么呢? - seralouk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接