SyntaxError of Non-ASCII character
本问题已经有最佳答案,请猛点这里访问。
我试图解析包含一些非ASCII切拉特的XML,
代码如下
1 2 3 4 5 | from lxml import etree from lxml import objectify content = u'<?xml version="1.0" encoding="utf-8"?>Order date : 05/08/2013 12:24:28' mail.replace('\xa0',' ') xml = etree.fromstring(mail) |
但它在"content=…"行中显示错误。喜欢
1 2 | 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 | # -*- coding: utf-8 -*- |
它在控制台和IDE中工作方式不同的原因很可能是因为设置了不同的默认编码。您可以通过运行:
1 2 | import sys print sys.getdefaultencoding() |
还可以看到:
- 为什么用python中的字符串声明unicode?
- 更改python的默认编码?
- 定义Python源代码编码的正确方法