Найти - Пользователи
Полная версия: Русская кодировка
Начало » Python для экспертов » Русская кодировка
1 2 3 4
shiza
hsbc
спасибо, решил проблему так
# -*- coding: cp1251 -*-
print “по русский !”.decode(“cp1251”)
Это у тебя как-то случайно наверное получилось.
Рекомендую таки разобраться в этом вопросе. А то наверняка косяки еще вылезут.
hsbc
pythonwin
hsbc
print “по русский !”.decode(“cp1251”)
почитай доклад Использование Unicode в Python
тока начал читать, благодарю

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

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

Бывают случаи, когда это перекодировка входных, выходных данных происходит неявно (без моего участия): в некоторых фреймворках, средах разработки и пр.
hsbc
в твоём варианте у меня пишет
Encoding problem utf-8
кстате ман по строкам в юникоде прочёл
в самом питоновском интерпритаторе всё пашет(наверно потому что в интерпритаторе код уже юникодный)
а вот если через цмд запускать, то уже нихрена не пашет
shiza
Скорее всего у тебя проблема с кодировкрй скрипта.
Убедись что она utf-8. Раньше у меня еще бывала трабла (на старых версиях питона кажется) - если редактор сохранял файл с BOM (маркер такой для UTF8 в начале файла).
P.S. покажи свой вариант.
j2a
shiza
я использую такой подход.
Я верю, что shiza всё делает правильно, лишь опечатался в посте. Я исправлю его опечатки :)
Все строки у меня в коде - юникодные.
Кодировка скрипта - UTF-8: это означает что у меня в начале скрипта прописано # coding: utf-8, и что еще важно - сам файл скрипта сохранен в кодировке UTF-8.
В этом случае все что я напишу внутри скрипта: a = u'мама мыла раму' - автоматические переводится в юникод (кстати надо заметить, что юникод и utf-8 - не одно и тоже!).

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

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

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


блин на счёт той Доки Юри Юривеча, мне не ответили
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