I am trying to parse xml which contains the some non ASCII cheracter,
the code looks like below
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)
but it shows me error on the line ‘content = …’
like
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
in the terminal it’s working but while running on the eclipse IDE it’s giving me a error.
Don’t know how to overcome..
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You should define source code encoding, add this to the top of your script:
# -*- coding: utf-8 -*-
The reason why it works differently in console and in the IDE is, likely, because of different default encodings set. You can check it by running:
import sys print sys.getdefaultencoding()
Also see:
- Why declare unicode by string in python?
- Changing default encoding of Python?
- Correct way to define Python source code encoding
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0