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

  • Bach Vlogs

    Bach Vlogs

    18 HAZİRAN 2011
  • DavidParody

    DavidParody

    17 EKİM 2009
  • Dumb Stupid Videos

    Dumb Stupid

    26 Kasım 2013