Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 8, 2011 07:49:51

xFreez
От:
Зарегистрирован: 2011-02-08
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с русскими символами в cp1251 (IDLE, окна)

Столкнулся со следующей проблемой:
с хтмл-страницы считывается строка, результат сохраняется в переменную
при выводе через 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)

Офлайн

#2 Фев. 8, 2011 09:54:04

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблемы с русскими символами в cp1251 (IDLE, окна)

Совет, забейте на cp1251 и юзайте всегда юникод.

#coding:utf-8
print u'привет'



Офлайн

#3 Фев. 8, 2011 10:07:24

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблемы с русскими символами в cp1251 (IDLE, окна)

А вот и волшебная ссылка на пост http://python.su/forum/viewtopic.php?pid=9144#p9144



Офлайн

#4 Фев. 8, 2011 10:27:10

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Проблемы с русскими символами в cp1251 (IDLE, окна)

Уважаемые slavonic и alafin.
Не кажется ли вам, что ссылку на этот замечательный ответ Александра Бельченко нужно подвесить где-нибудь рядом с “правилами форума”?
Можно заодно разместить там и ссылки на попытки форумчан написать в своих блогах, как, черт возьми, жить с кодировками отличающимися от ascii.
Обсуждение запретить, добавлять новые статьи по явным просьбам.



Офлайн

#5 Фев. 8, 2011 10:29:03

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблемы с русскими символами в cp1251 (IDLE, окна)

Андрей Светлов, а к неугодным приезжать домой лично и насильно устанавливать Python 3 =)\
Это я к тому, что посты все равно будут удаляться.
Например, большая жирная надпись КОД ОБОРАЧИВАТЬ В ТЕГИ так и не помогла =(



Отредактировано (Фев. 8, 2011 10:29:54)

Офлайн

#6 Фев. 8, 2011 11:01:13

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Проблемы с русскими символами в cp1251 (IDLE, окна)

Да и пусть удаляются! А таки тег “code” стали использовать больше :)
Я просто хочу, чтобы спрашивающий (если, конечно, это не чудо, застрявшее на экзамене - для этих завели отдельную ветку и она себя оправдывает, как по мне):

- имел возможность прочитать, что рекомендуют
- ему это не помогло, хоть и старался. Напишет еще раз с уточнениями. Помогать станет легче.
- ну вот такой он “альтернативно одарённый” - “чукча не читатель, он - писатель”. Дорога в забвение или указание на статью. Я, например, затруднился вспомнить - а когда же в последний раз ответ на “правильную кодировку” включал в себя ссылку на хороший документ. Просто потому, что спрашивают часто.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version