2013-08-06 16 views
67

Sto cercando di analizzare XML che contiene l'alcuni cheracter non ASCII,SyntaxError di carattere non-ASCII

il codice si presenta come di seguito

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) 

ma mi mostra l'errore sulla linea di 'content = ...' come

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 

nel terminale che sta funzionando, ma durante l'esecuzione sul IDE Eclipse mi sta dando un errore.

Non so come superare ..

+4

non credo che un duplicato. Le persone incontrano molto spesso questo problema di codifica di Python. Avere questo ricco stile di descrizioni dei problemi in SO rende migliore la nostra base di conoscenze. – DehengYe

risposta

159

È necessario definire la codifica del codice sorgente, aggiungere questo alla parte superiore dello script:

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

Il motivo per cui funziona in modo diverso in consolle e nel l'IDE è, probabilmente, a causa di diverse codifiche predefinite impostate. È possibile controllare eseguendo:

import sys 
print sys.getdefaultencoding() 

Vedi anche:

Problemi correlati