Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2018 19:36:42

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод кириллицы

Здравствуйте.
Вопрос ламерский, но все же.

Код

 # -*- coding: utf-8 -*-
message = "test Всем привет"
print(message)

Вывод:
 test ���� ������

Как научить Python работать с кириллицей?

Офлайн

#2 Апрель 20, 2018 20:32:36

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

вывод кириллицы

 message = u'test Всем привет'

Офлайн

#3 Апрель 20, 2018 21:24:48

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод кириллицы

vic57, спасибо, но я это уже пробовал - не помогает.

И на всякий случай: ОС Windows 10

Отредактировано rascally_rabbit (Апрель 20, 2018 21:25:39)

Офлайн

#4 Апрель 21, 2018 03:15:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

вывод кириллицы

rascally_rabbit
Как научить Python работать с кириллицей?
Перекодируй файл в cp1251 и укажи эту кодировку в декларации кодировки. Для начала хватит. А вообще локализация программ по-другому делается: всё пишется на английском и пропускается через специальную функцию _() , которая обращается к файлу локализации, в котором английские фразы отображаются на русские. Так делаются файлы для разных языков и потом программа в зависимости от локали использует нужный файл перевода.



Офлайн

#5 Апрель 21, 2018 08:29:06

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

вывод кириллицы

rascally_rabbit
Как научить Python работать с кириллицей?
А он умеет. Ваш вопрос касается того как научить работать с кириллицей редактор в котором вы редактируете код и консоль в которой вы потом смотрите результат. К питону это не имеет ни малейшего отношения.
rascally_rabbit
И на всякий случай: ОС Windows 10
Собственно проблема в том, что винда использует одновременно кодировку cp866 для консоли, cp1251 в файлах, unicode для внутренних нужд и похоже еще пару других кодировок в других местах, в то время как в остальных операционных системах lво всех местах используют только utf-8. Поэтому в винде постоянный бардак.

Я попробовал на win8. Все норм. Скорее всего ваша проблема возникла потому что вы указали кодировку utf-8 а создали файл наверно в cp1251. Вы файл не приложили - ничего определеннее не скажешь.

py.user.next
Перекодируй файл в cp1251
Я бы не советовал так делать. Большинство людей пользуется utf-8. перекодировав файл в cp1251(он наверное и так в этой кодировке) вы создадите им и себе проблемы при общении и распространении своих файлов.
Лучше перекодируйте файл с программой в кодировку utf-8. Писать в третьем питоне # -*- coding: utf-8 -*- не обязательно. Оно по умолчанию так трактуется питоном.

Но будьте предельно внимательны под виндой. Например в Visual Studio переход на utf-8 приводит к тому что VS в файл добавляет BOM. Два символа в начале которые не видны во многих редакторах, но делают программу неработоспособной. Это делается для того чтобы отличить utf-8 от других кодировок используемых в WINDOWS. Всему остальному миру такой аппендикс не только совершенно не нужен но и крайне вреден. :)



Отредактировано doza_and (Апрель 21, 2018 08:35:19)

Офлайн

#6 Апрель 21, 2018 08:37:38

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод кириллицы

py.user.next, сделал как вы посоветовали, но не помогло.

Офлайн

#7 Апрель 21, 2018 08:42:28

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод кириллицы

doza_and, файл был изначально сохранен в кодировке utf-8.
Редактор Visual Studio Code.

Файл прикрепил.

Прикреплённый файлы:
attachment test.py (132 байта)

Офлайн

#8 Апрель 21, 2018 08:47:13

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод кириллицы

И да, спасибо всем откликнувшимся

Офлайн

#9 Апрель 21, 2018 08:48:03

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

вывод кириллицы

файл прикрепите
скажите в чем смотрите результат



Отредактировано doza_and (Апрель 21, 2018 08:48:25)

Офлайн

#10 Апрель 21, 2018 08:53:34

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод кириллицы

Файл в сообщении выше прикреплен. Вывод смотрю в VSCode (см. скриншот)

Прикреплённый файлы:
attachment screnshot.PNG (57,0 KБ)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version