Форум сайта python.su
0
Столкнулся со следующей проблемой:
с хтмл-страницы считывается строка, результат сохраняется в переменную
при выводе через print первый раз текст выходит в cp1251 ( РҐСѓРґРѕР¶РЅРёРє ), последующие выводы - в utf-8 ( \xd0\xa5\xd1\x83\xd0\xb4\xd0\xbe\xd0\xb6\xd0\xbd\xd0\xb8\xd0\xba )
пробовал сначала записать файл, потом считать оттуда - запись идет нормально, только если в файл передается одна переменная. Если переменная + текст - опять вылезают кракозябры вместо значения переменной.
И самое странное - пару раз на вывод все-таки попадал нормальный русский текст, но это было всего 2-3 раза из сотни попыток. Закономерностей не обнаружил.
В связи этим вопрос - главное окошко IDLE русскую кодировку вообще поддерживает? Если да - то как?
Различные варианты с %name%.decode ('utf-8') я пробовал, безрезультатно. Впрочем, если я все верно понимаю, в любом случае в cp1251 русские символы должны выводится корректно.
# -*- coding: cp1251 -*- так же присутствует в нужном месте.
так же пробовал вставлять в начало нижеследующее:
import sys
reload(sys)
sys.setdefaultencoding('cp1251')
aut = j.__getslice__ (j.find ('<h1>')+4, j.find ('</h1>'))Отредактировано (Фев. 8, 2011 09:08:39)
Офлайн
3
Совет, забейте на cp1251 и юзайте всегда юникод.
#coding:utf-8
print u'привет'
Офлайн
3
А вот и волшебная ссылка на пост http://python.su/forum/viewtopic.php?pid=9144#p9144
Офлайн
14
Уважаемые slavonic и alafin.
Не кажется ли вам, что ссылку на этот замечательный ответ Александра Бельченко нужно подвесить где-нибудь рядом с “правилами форума”?
Можно заодно разместить там и ссылки на попытки форумчан написать в своих блогах, как, черт возьми, жить с кодировками отличающимися от ascii.
Обсуждение запретить, добавлять новые статьи по явным просьбам.
Офлайн
3
Андрей Светлов, а к неугодным приезжать домой лично и насильно устанавливать Python 3 =)\
Это я к тому, что посты все равно будут удаляться.
Например, большая жирная надпись КОД ОБОРАЧИВАТЬ В ТЕГИ так и не помогла =(
Отредактировано (Фев. 8, 2011 10:29:54)
Офлайн
14
Да и пусть удаляются! А таки тег “code” стали использовать больше :)
Я просто хочу, чтобы спрашивающий (если, конечно, это не чудо, застрявшее на экзамене - для этих завели отдельную ветку и она себя оправдывает, как по мне):
- имел возможность прочитать, что рекомендуют
- ему это не помогло, хоть и старался. Напишет еще раз с уточнениями. Помогать станет легче.
- ну вот такой он “альтернативно одарённый” - “чукча не читатель, он - писатель”. Дорога в забвение или указание на статью. Я, например, затруднился вспомнить - а когда же в последний раз ответ на “правильную кодировку” включал в себя ссылку на хороший документ. Просто потому, что спрашивают часто.
Офлайн