Python Unicode Kodlama Hatası
Ve bir Amazon XML XML ' görülüyor , ben yazdırmaya çalıştığınızda, aşağıdaki hata iletisini alabilirsiniz: . bir dosya ise dosya okuma ve ayrıştırma ediyorum
'ascii' codec can't encode character u'\u2019' in position 16: ordinal not in range(128)
Şimdiye kadar online okuduğum kadarıyla, hata ASCII kodlu karakter olarak XML dosyası UTF-8, ama Python halletmek istiyor olması geliyor. Gitmek hata ve programım okur gibi XML baskı yapmak için basit bir yolu var mı?
CEVAP
Büyük olasılıkla, bu senin sorunun sen ayrıştırılmış olur, ve şimdi yazdırmak için XML içeriğini çalışıyorsun yapamazsın, çünkü orada bazı yabancı Unicode karakterleri. Sizin unicode dize olarak ascıı ilk: kodlamak için deneyin
unicodeData.encode('ascii', 'ignore')
'Yoksay' bölümünü sadece bu karakterleri atlamak için söyleyecek. Dokümanlar: python
>>> u = unichr(40960) u'abcd' unichr(1972)
>>> u.encode('utf-8')
'\xea\x80\x80abcd\xde\xb4'
>>> u.encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode character '\ua000' in position 0: ordinal not in range(128)
>>> u.encode('ascii', 'ignore')
'abcd'
>>> u.encode('ascii', 'replace')
'?abcd?'
>>> u.encode('ascii', 'xmlcharrefreplace')
'ꀀabcd'
Bu makaleyi okumak isteyebilirsiniz: temel bir öğretici olarak çok yararlı oluyor ne buldum. http://www.joelonsoftware.com/articles/Unicode.html, Bu okuduktan sonra, kullanmak için sadece ne olduğunu tahmin ediyoruz gibi hissediyorum (ya da en azından bana öyle olmuştu) dur.
Neden varsayılan kodlama ASCII olduğun...
çınlama hata: bilinmeyen argüman: ...
Python (ekstra semboller içeren bir di...
Ayarı boru Python stdout zaman doğru k...
Python unicode dizesi aksan kaldırmak ...