2013-08-06 29 views
67

Tôi cố gắng để phân tích cú pháp xml chứa một số cheracter ASCII thuốc,Lỗi Cú pháp của nhân vật không phải là ASCII

mã trông giống như dưới đây

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) 

nhưng nó cho thấy tôi lỗi trên dòng 'content = ... ' như

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 

trong thiết bị đầu cuối hoạt động nhưng trong khi chạy trên nhật thực IDE, nó gây lỗi cho tôi.

Không biết làm thế nào để vượt qua ..

+4

Tôi không nghĩ rằng nó là một bản sao. Mọi người gặp phải vấn đề mã hóa python này rất thường xuyên. Có phong cách mô tả vấn đề phong phú này trong SO làm cho kiến ​​thức của chúng tôi trở nên tốt hơn. – DehengYe

Trả lời

159

Bạn nên xác định mã hóa mã nguồn, thêm video này vào đầu script của bạn:

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

Lý do tại sao nó hoạt động khác nhau trong giao diện điều khiển và trong IDE có khả năng là do các mã hóa mặc định khác nhau được đặt. Bạn có thể kiểm tra xem nó bằng cách chạy:

import sys 
print sys.getdefaultencoding() 

Xem thêm:

Các vấn đề liên quan