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

  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • Kingsimba357

    Kingsimba357

    7 NİSAN 2008
  • movies95

    movies95

    27 Kasım 2006