非ASCII字符的SyntaxError

我想parsing包含一些非ASCII cheracter的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) 

但它显示了我的错误行'内容= …'就像

 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 

在terminal它正在工作,但在eclipse IDE上运行时,它给我一个错误。

不知道如何克服..

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

 # -*- coding: utf-8 -*- 

它在控制台和IDE中的工作原理可能是由于不同的默认编码集。 你可以通过运行来检查它:

 import sys print sys.getdefaultencoding() 

另请参阅:

  • 为什么要在python中通过string来声明unicode?
  • 更改Python的默认编码?
  • 正确的方式来定义Python源代码编码