Mam dykt, który jest podawany z odpowiedzią na URL. Jak:UnicodeEncodeError: Kodek 'ascii' nie może kodować znaków
>>> d
{
0: {'data': u'<p>found "\u62c9\u67cf \u591a\u516c \u56ed"</p>'}
1: {'data': u'<p>some other data</p>'}
...
}
Podczas korzystania xml.etree.ElementTree
funkcji na tej wartości danych (d[0]['data']
) pojawia się najsłynniejszy komunikat o błędzie:
UnicodeEncodeError: 'ascii' codec can't encode characters...
Co należy zrobić, aby ten ciąg Unicode, aby nadawał się do Parser ElementTree?
PS. Proszę nie przesyłać mi linków z Unicode & Python explanation. Przeczytałem to wszystko już niestety i nie mogę z niego skorzystać, tak jak miejmy nadzieję, inni.
Tak, to była pierwsza rzecz próbowałem i zawsze staram. Problem dotyczy 'ElementTree.tostring'. Czy możesz wypróbować 'ElementTree.tostring (p, method = 'text')' i powiedzieć, dlaczego to nie działa? Dzięki – theta
Ah, przepraszam. To było zbyt oczywiste. '.tostring()' ma opcjonalny argument 'encoding', który prawdopodobnie jest domyślnie ustawiony na ascii, więc dodanie 'encoding = 'utf-8'' działa. Pozdrawiam: – theta
@theta: Hehe, zaraz ci o tym opowiesz. :-) –