Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 3, 2008 18:15:35

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

hsbc
спасибо, решил проблему так
# -*- coding: cp1251 -*-
print “по русский !”.decode(“cp1251”)
Это у тебя как-то случайно наверное получилось.
Рекомендую таки разобраться в этом вопросе. А то наверняка косяки еще вылезут.



Офлайн

#2 Сен. 3, 2008 18:17:58

hsbc
От:
Зарегистрирован: 2008-07-23
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

pythonwin
hsbc
print “по русский !”.decode(“cp1251”)
почитай доклад Использование Unicode в Python
тока начал читать, благодарю

shiza
вроде пока везде пашет……



Офлайн

#3 Сен. 3, 2008 18:20:04

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

hsbc
вроде пока везде пашет……
шаманизм - если хочешь чтобы работало всегда - читай доку ;)



Офлайн

#4 Сен. 3, 2008 18:23:33

hsbc
От:
Зарегистрирован: 2008-07-23
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

проблема в том, что всё что в доке пока написанно нехочет работать)))))))))))))
либо я кривой кодер, либо хз)))



Отредактировано (Сен. 3, 2008 18:23:54)

Офлайн

#5 Сен. 3, 2008 18:29:16

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

я использую такой подход.
Все строки у меня в коде - юникодные.
Кодировка скрипта - UTF-8: это означает что у меня в начале скрипта прописано # -*- coding: utf-8 -*-, и что еще важно - сам файл скрипта сохранен в кодировке UTF-8.
В этом случае все что я напишу внутри скрипта: a = u'мама мыла раму' - автоматические переводится в юникод (кстати надо заметить, что юникод и utf-8 - не одно и тоже!).

Если скрипту надо общаться с внешним миром, то при получении данных я декодирую их в юникод. И при выводе данных(например при выводе в консоль) кодирую их в ту кодировку, которую нужно.

Бывают случаи, когда это перекодировка входных, выходных данных происходит неявно (без моего участия): в некоторых фреймворках, средах разработки и пр.



Отредактировано (Сен. 3, 2008 19:26:03)

Офлайн

#6 Сен. 3, 2008 18:39:37

hsbc
От:
Зарегистрирован: 2008-07-23
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

в твоём варианте у меня пишет
Encoding problem utf-8
кстате ман по строкам в юникоде прочёл
в самом питоновском интерпритаторе всё пашет(наверно потому что в интерпритаторе код уже юникодный)
а вот если через цмд запускать, то уже нихрена не пашет



Офлайн

#7 Сен. 3, 2008 18:50:31

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

Скорее всего у тебя проблема с кодировкрй скрипта.
Убедись что она utf-8. Раньше у меня еще бывала трабла (на старых версиях питона кажется) - если редактор сохранял файл с BOM (маркер такой для UTF8 в начале файла).
P.S. покажи свой вариант.



Отредактировано (Сен. 3, 2008 18:55:08)

Офлайн

#8 Сен. 3, 2008 19:14:26

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Русская кодировка

shiza
я использую такой подход.
Я верю, что shiza всё делает правильно, лишь опечатался в посте. Я исправлю его опечатки :)
Все строки у меня в коде - юникодные.
Кодировка скрипта - UTF-8: это означает что у меня в начале скрипта прописано # coding: utf-8, и что еще важно - сам файл скрипта сохранен в кодировке UTF-8.
В этом случае все что я напишу внутри скрипта: a = u'мама мыла раму' - автоматические переводится в юникод (кстати надо заметить, что юникод и utf-8 - не одно и тоже!).

Если скрипту надо общаться с внешним миром, то при получении данных я декодирую их в юникод. И при выводе данных(например при выводе в консоль) кодирую их в ту кодировку, которую нужно.

Бывают случаи, когда это перекодировка входных, выходных данных происходит неявно (без моего участия): в некоторых фреймворках, средах разработки и пр.



Офлайн

#9 Сен. 3, 2008 19:26:36

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

j2a
Ты прав. спасибо. поправил.



Офлайн

#10 Сен. 3, 2008 19:28:41

hsbc
От:
Зарегистрирован: 2008-07-23
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Русская кодировка

в данном случае получается такое

C:\Documents and Settings\HSBC>C:\p\python.exe C:\1.py
╨┐╤А╨╕╨▓╨╡╤В ╨▓╤Б


блин на счёт той Доки Юри Юривеча, мне не ответили



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version