いくつかの非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)
しかし、「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で実行中にエラーが発生しています。
克服する方法がわからない..
ソースコードエンコーディングを定義し、スクリプトの先頭にこれを追加する必要があります。
# -*- coding: utf-8 -*-
コンソールとIDEで動作が異なる理由は、おそらくデフォルトのエンコードセットが異なるためです。以下を実行して確認できます:
import sys
print sys.getdefaultencoding()
参照: