Python 非ASCII字符的语法错误

Python 非ASCII字符的语法错误,python,encoding,xml-parsing,lxml,non-ascii-characters,Python,Encoding,Xml Parsing,Lxml,Non Ascii Characters,我试图解析包含非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 = et

我试图解析包含非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)
在终端中,它正在工作,但在EclipseIDE上运行时,它给了我一个错误


不知道如何克服..

您应该定义源代码编码,将其添加到脚本顶部:

# -*- coding: utf-8 -*-
它在控制台和IDE中工作方式不同的原因很可能是因为设置了不同的默认编码。您可以通过运行以下命令进行检查:

import sys
print sys.getdefaultencoding()
另见:


我不认为它是重复的。人们经常遇到这种python编码问题。在SO中有这样丰富的问题描述可以使我们的知识库更好。如果我不包括这一行,那么Python 3不会抛出错误。然而,python2确实如此。使其与python2一起工作的唯一方法是添加这一行
#-*-编码:utf-8-*-
。但是为什么呢?
import sys
print sys.getdefaultencoding()