107

我正在尝试解析包含一些非 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 上运行时它给了我一个错误。

不知道怎么克服。。

4

1 回答 1

272

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

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

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

import sys
print sys.getdefaultencoding()

另见:

于 2013-08-06T11:24:11.617 回答