Найти - Пользователи
Полная версия: вывод кириллицы
Начало » Python для новичков » вывод кириллицы
1 2 3
rascally_rabbit
Здравствуйте.
Вопрос ламерский, но все же.

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

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

Как научить Python работать с кириллицей?
vic57
 message = u'test Всем привет'
rascally_rabbit
vic57, спасибо, но я это уже пробовал - не помогает.

И на всякий случай: ОС Windows 10
py.user.next
rascally_rabbit
Как научить Python работать с кириллицей?
Перекодируй файл в cp1251 и укажи эту кодировку в декларации кодировки. Для начала хватит. А вообще локализация программ по-другому делается: всё пишется на английском и пропускается через специальную функцию _() , которая обращается к файлу локализации, в котором английские фразы отображаются на русские. Так делаются файлы для разных языков и потом программа в зависимости от локали использует нужный файл перевода.
doza_and
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. Всему остальному миру такой аппендикс не только совершенно не нужен но и крайне вреден. :)
rascally_rabbit
py.user.next, сделал как вы посоветовали, но не помогло.
rascally_rabbit
doza_and, файл был изначально сохранен в кодировке utf-8.
Редактор Visual Studio Code.

Файл прикрепил.
rascally_rabbit
И да, спасибо всем откликнувшимся
doza_and
файл прикрепите
скажите в чем смотрите результат
rascally_rabbit
Файл в сообщении выше прикреплен. Вывод смотрю в VSCode (см. скриншот)
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