web-dev-qa-db-fra.com

SyntaxError du caractère non-ASCII

J'essaie d'analyser le XML qui contient le cheracter non ASCII,

le code ressemble à ci-dessous

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)

mais il me montre une erreur sur la ligne 'contenu = ...' comme

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

dans le terminal, cela fonctionne mais lors de l'exécution sur Eclipse IDE, il me donne une erreur.

Je ne sais pas comment surmonter ..

87
OpenCurious

Vous devez définir le codage du code source, ajoutez ceci en haut de votre script:

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

La raison pour laquelle cela fonctionne différemment dans la console et dans le IDE est probablement due à des codages par défaut différents. Vous pouvez le vérifier en exécutant:

import sys
print sys.getdefaultencoding()

Regarde aussi:

216
alecxe