非ASCII字符的SyntaxError

时间:2013-08-06 11:23:15

标签: 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 = 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上运行它会给我一个错误。

不知道如何克服..

1 个答案:

答案 0 :(得分:210)

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

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

它在控制台和IDE中的工作方式不同的原因可能是因为设置了不同的默认编码。您可以通过运行来检查它:

import sys
print sys.getdefaultencoding()

另见: