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

  • KendrickLamarVEVO

    KendrickLama

    9 ŞUBAT 2011
  • lissaandbeauty

    lissaandbeau

    24 Aralık 2011
  • metal571

    metal571

    30 Mayıs 2006