Найти - Пользователи
Полная версия: Проблемы с русскими символами в cp1251 (IDLE, окна)
Начало » Python для новичков » Проблемы с русскими символами в cp1251 (IDLE, окна)
1
xFreez
Столкнулся со следующей проблемой:
с хтмл-страницы считывается строка, результат сохраняется в переменную
при выводе через 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>'))
igor.kaist
Совет, забейте на cp1251 и юзайте всегда юникод.
#coding:utf-8
print u'привет'
igor.kaist
А вот и волшебная ссылка на пост http://python.su/forum/viewtopic.php?pid=9144#p9144
Андрей Светлов
Уважаемые slavonic и alafin.
Не кажется ли вам, что ссылку на этот замечательный ответ Александра Бельченко нужно подвесить где-нибудь рядом с “правилами форума”?
Можно заодно разместить там и ссылки на попытки форумчан написать в своих блогах, как, черт возьми, жить с кодировками отличающимися от ascii.
Обсуждение запретить, добавлять новые статьи по явным просьбам.
regall
Андрей Светлов, а к неугодным приезжать домой лично и насильно устанавливать Python 3 =)\
Это я к тому, что посты все равно будут удаляться.
Например, большая жирная надпись КОД ОБОРАЧИВАТЬ В ТЕГИ так и не помогла =(
Андрей Светлов
Да и пусть удаляются! А таки тег “code” стали использовать больше :)
Я просто хочу, чтобы спрашивающий (если, конечно, это не чудо, застрявшее на экзамене - для этих завели отдельную ветку и она себя оправдывает, как по мне):

- имел возможность прочитать, что рекомендуют
- ему это не помогло, хоть и старался. Напишет еще раз с уточнениями. Помогать станет легче.
- ну вот такой он “альтернативно одарённый” - “чукча не читатель, он - писатель”. Дорога в забвение или указание на статью. Я, например, затруднился вспомнить - а когда же в последний раз ответ на “правильную кодировку” включал в себя ссылку на хороший документ. Просто потому, что спрашивают часто.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB