[close] [python] проблема с кодировкой
вставь в начале каждого файла с русскими символами.
Кстати юникодные строки в питоне надо писать как u'тест', а не просто как 'тест'
На самом деле предложенный скрипт только демонстрирует проблему, оригинальный код не хотелось выкладывать, так как он очень путанный и данные вообще изначально скачивает с сайта, а потом их парсит, обрабатывает и т.д...
Сейчас ситуация следующая. Я победила эту ошибку, сделав так
ResponseNameRu.text = unicode(s)
Что собственно и соответсвует u'тест'
>>> ResponseNameRu.text
u'\u041f\u0440\u0438\u0432\u0435\u0442'
>>> print etree.tostring(ResponseRoot, pretty_print=True)
<RegisterEntry>
<NameRu>Привет</NameRu>
</RegisterEntry>
>>> type(etree.tostring(ResponseRoot, pretty_print=True
<type 'str'>
Как теперь преобразовать &в u'\u041?
Или что сделать, чтобы можно было на экран в читаемом виде вывести?
все, разобралась у метода etree.tostring нашла параметр encoding
Кстати если ты пишешь парсер советую использовать немного другую связку. Посмотри модуль PyQuery. Будешь приятно удивлена.
Оставить комментарий
Jekich
python 2.6 под Linux'омПытаюсь выполнить следующий простой скрипт
Получаю ошибку
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes
Как можно побороть, подскажите плз? Каждый раз, когда сталкиваюсь с юникодом в python'е трачу уйму времени