Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 7, 2010 12:53:47

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

Если кто-то знает почему так и может объяснить, то я буду премного благодарен.

Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Тест'
Тест
>>> import locale
>>> locale.setlocale(locale.LC_ALL,"")
'Russian_Russia.1251'
>>> print 'Тест'
Тест
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Тест'
Тест
>>> import locale
>>> locale.setlocale(locale.LC_ALL,"")
'Russian_Russia.1251'
>>> print 'Тест'
'?бв



Офлайн

#2 Сен. 7, 2010 17:36:50

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout)
я такое юзал, но что в разных версиях по разному - для меня загадка )

Офлайн

#3 Сен. 7, 2010 21:07:58

Carzil
От:
Зарегистрирован: 2010-05-26
Сообщения: 106
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

У wind'ы часто проблемы с кодировкой…



Офлайн

#4 Сен. 8, 2010 07:11:18

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

Carzil
У wind'ы часто проблемы с кодировкой…
просто системная кодировка и кодировка консоли - это разные вещи (cp1251 и cp866 соответственно)



Офлайн

#5 Сен. 8, 2010 12:29:11

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

Carzil
У wind'ы часто проблемы с кодировкой…
Проблемы с кодировкой у тех, кто не понимает как с wind'ы обращаться.



Офлайн

#6 Сен. 8, 2010 12:32:21

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

Вобщем вместе с одним парнем разобрались. Из-за того, что Python 2.6 на Windows скомпилирован при помощи VS2008, то 2.6 использует системные либы от 2008. Эта проблема идёт именно из системной либы msvcr90.dll. Если вызвать setlocale, то системная функция вывода на консоль (puts) начинает зачем-то перекодировать строки в ANSI кодировку. Вобщем питон тут почти что ни при чем.

Возможно, кому-то будет полезно это знать.



Офлайн

#7 Сен. 8, 2010 12:32:40

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 2.5 vs Python 2.6 на Windows и вывод русских букв

Вопрос закрыт.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version