Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 6, 2013 17:04:01

lobster
От:
Зарегистрирован: 2011-06-09
Сообщения: 82
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с кодировкой в Windows

Приветствую участников форума!
Система WinXP, Python 2.7
Уже столько шишек набил себе об эту кодировку, думал что разобрался, оказывается нет.
Короче считываю файл hello_world, в нем содержится одно слово “привет” записано в кодировке cp1251

f = open("hello_world", "r")
print f.read()
В консоле выводятся кракозябры вида “яЁштхЄ”, ну ясно понятно что это cp866, затем запускаю этот же код но перед этим в этой же консоли ввожу chcp 1251, получаются такие же неизменные кракозябры “яЁштхЄ”, подскажите в чем вилы?



Офлайн

#2 Фев. 6, 2013 17:21:24

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

проблема с кодировкой в Windows

Традиционно:
http://docs.python.org/2/howto/unicode.html
http://nedbatchelder.com/text/unipain.html
http://habrahabr.ru/post/135913/

Если кратко

import codecs
f = codecs.open('hello_world', encoding='cp1251')
или
print f.read().decode('cp1251')

Офлайн

#3 Фев. 6, 2013 17:30:41

lobster
От:
Зарегистрирован: 2011-06-09
Сообщения: 82
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с кодировкой в Windows

reclosedev
Благодарю!, об модуле codecs первый раз слышу!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version