SORU
11 Temmuz 2010, Pazar


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
11 Temmuz 2010, Pazar


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • KIT KAT

    KIT KAT

    3 EKİM 2005