113 votes

Erreur de syntaxe d'un caractère non ASCII

J'essaie d'analyser un fichier xml qui contient des caractères non ASCII,

le code ressemble à ce qui suit

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 'content = ...'. 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 lorsque je l'exécute dans l'IDE d'Eclipse, je reçois une erreur.

Je ne sais pas comment surmonter

278voto

alecxe Points 50783

Vous devez définir l'encodage 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 l'IDE est, probablement, en raison des différents encodages par défaut définis. Vous pouvez le vérifier en exécutant :

import sys
print sys.getdefaultencoding()

Voir aussi :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X