Поддержка кириллицы в PyCharm

Как в PyCharm сделать поддержку кириллицы? В качестве интерпретатора установлена Anaconda3, причём если писать в других средах, то кириллица работает, а в PyCharm почему-то нет.
Отслеживать
Anton Smerdov
задан 25 окт 2015 в 14:15
Anton Smerdov Anton Smerdov
51 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
а кодировка файла какая? # -*- coding: utf-8 -*- прописывали? здесь немного написано про кодировки
25 окт 2015 в 14:34
@BOPOH, писал, не помогает. sys.getdefaultencoding() выдаёт ‘utf-8’. Как ни странно, проблемы с символами только в консоли, т.е. при запуске через Ctrl+Shift+F10 всё нормально
25 окт 2015 в 14:41
попробовал и то, и то, не вышло 🙁 чтобы поменять шрифт я создал новую схему кнопкой «Save As», перебрал популярные шрифты — без изменений
25 окт 2015 в 15:29
Спасибо, это помогло) Удивительно, что я менял это на UTF-8 и раньше, но почему-то ничего не получалось
25 окт 2015 в 15:40
@BOPOH: напишите Ваш комментарий в виде ответа, чтобы помочь будущим посетителям (в противном случае этот вопрос (без одобренных ответов) может быть удалён автоматически спустя какое-то время)
25 окт 2015 в 18:10
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Почитайте это, но скорее всего это не поможет, и надо будет сделать это. У меня проверить че-то не получилось, т.к. шрифт не меняется (эти настройки не активны, возможно из-за Community Edition).
Обновление
А вы все пробовали?
Settings -> Editor -> File Encodings -> Project Encoding -> UTF-8 (так же и для IDE Encoding)
После этого открываем новую консоль (или перезапускаем IDE) и у меня начало на русском писать.
Ответ из комментария @BOPOH
Как изменить кодировку в pycharm
Для вывода информации на консоль предназначена встроенная функция print() . При вызове этой функции ей в скобках передается выводимое значение:
print("Hello METANIT.COM")
Данный код выведет нам на консоль строку «Hello METANIT.COM».
Отличительной особенностью этой функции является то, что по умолчанию она выводит значение на отдельной строке. Например:
print("Hello World") print("Hello METANIT.COM") print("Hello Python")
Здесь три вызова функции print() выводят некоторое сообщение. Причем при выводе на консоль каждое сообщение будет размещаться на отдельной строке:
Hello World Hello METANIT.COM Hello Python
Такое поведение не всегда удобно. Например, мы хотим, чтобы все значения выводились на одной строке. Для этого нам надо настроить поведение функции с помощью параметра end . Этот параметр задает символы, которые добавляются в конце к выводимой строке и . При применении параметра end вызов функции print() выглядит следующим образом:
print(значение, end = конечные_символы)
По умолчанию end равен символу «\n» , который задает перевод на следующую строку. Собственно поэтому функция print по умолчанию выводит передаваемое ей значение на отдельной строке.
Теперь определим, чтобы функция не делала перевод на следующую строку, а выводила значение на той же строке:
print("Hello World", end=" ") print("Hello METANIT.COM", end=" ") print("Hello Python")
То есть теперь выводимые значения будут разделяться пробелом:
Hello World Hello METANIT.COM Hello Python
Причем это может быть не один символ, а набор символов:
print("Hello World", end=" and ") print("Hello METANIT.COM", end=" and ") print("Hello Python")
В данном случае выводимые сообщения будут отделяться символами » and » :
Hello World and Hello METANIT.COM and Hello Python
Консольный ввод
Наряду с выводом на консоль мы можем получать ввод пользователя с консоли, получать вводимые данные. Для этого в Python определена функция input() . В эту функцию передается приглашение к вводу. А результат ввода мы можем сохранить в переменную. Например, определим код для ввода пользователем имени:
name = input("Введите свое имя: ") print(f"Ваше имя: ")
В данном случае в функцию input() передается приглашение к вводу в виде строки «Введите свое имя: «. Результат функции — результат ввода пользователя передается в переменную name . Затем мы можем вывести значение этой переменной на консоль с помощью функции print() . Пример работы кода:
Введите свое имя: Eugene Ваше имя: Eugene
Еще пример с вводом нескольких значений:
name = input("Your name: ") age = input("Your age: ") print(f"Name: Age: ")
Пример работы программы:
Your name: Tom Your age: 37 Name: Tom Age: 37
Стоит учитывать, что все введенные значения рассматриваются как значения типа str , то есть строки. И даже если мы вводим число, как в втором случае в коде выше, то Python все равно будет рассматривать введенное значение как строку, а не как число.
Кириллица в Python под Windows и Pycharm
Избитая проблема кодировки кириллических шрифтов при коддингде под Windows с использованием Pycharm, когда код имеет print’ы на Русском языке. Некоторые обходят эту проблему конвертированием print’a при его отработке как показано в примере
# -*- coding: utf-8 -*- print(u’Пример вывода кириллического текста’).encode(‘866’)
Но в таком случае проблемы возникнут при выводе в Pycharm, а не Windows cmd как было до этого.
Решение
Добавляете приведенный ниже код в ваши скрипты и кириллический текст будет выводится одинаково корректно как в Windows cmd, в Pycharm так и в Linux системах.
# -*- coding: utf-8 -*- import sys reload(sys) import locale sys.setdefaultencoding(locale.getpreferredencoding()) print(u’Пример вывода кириллического текста’)
И как альтернативный вариант
import sys reload(sys) sys.setdefaultencoding(‘utf-8′) print(u’Пример вывода кириллического текста’)
Python-сообщество
![]()
- Начало
- » Инструментальные средства разработки
- » Кириллица в PyCharm
#1 Сен. 12, 2012 08:25:32
Razor Зарегистрирован: 2012-09-11 Сообщения: 127 Репутация: 2 Профиль Отправить e-mail
Кириллица в PyCharm
Здравствуйте уважаемые питонщики. Меня, как новичка, заинтересовала среда разработки JetBrains PyCharm, но я столкнулся с проблемой: JetBrains PyCharm не отображает кириллицу. Вместо нее какие-то ромбики. PyCharm поддерживает только латиницу или можно выставить кирилицу? Если можно, то где?
#2 Сен. 12, 2012 08:36:37
FishHook От: Зарегистрирован: 2011-01-08 Сообщения: 8312 Репутация: 568 Профиль Отправить e-mail
Кириллица в PyCharm

#3 Сен. 12, 2012 09:04:55
Razor Зарегистрирован: 2012-09-11 Сообщения: 127 Репутация: 2 Профиль Отправить e-mail
Кириллица в PyCharm

FishHook
FishHook, признаться, я сначала тоже так подумал, но:

#4 Сен. 12, 2012 09:26:02
FishHook От: Зарегистрирован: 2011-01-08 Сообщения: 8312 Репутация: 568 Профиль Отправить e-mail
Кириллица в PyCharm
Что-то у тебя с кодировками беда. Мой тебе совет, оставь венду для игрушек, а для дела юзай линух.
#5 Сен. 12, 2012 09:45:16
Razor Зарегистрирован: 2012-09-11 Сообщения: 127 Репутация: 2 Профиль Отправить e-mail
Кириллица в PyCharm
FishHook
Что-то у тебя с кодировками беда. Мой тебе совет, оставь венду для игрушек, а для дела юзай линух.
С радостью бы, но сейчас интернет не самый лучший. А линух, как сам знаешь, от него очень зависим. Так что решил начать освоение на Винде, а стандартный IDLE, который, в принципе, весьма подходит для такого простого кода, после сохранения перестает подсвечивать код. Вроде бы и мелочь, а неприятно…
#6 Сен. 12, 2012 09:48:09
FishHook От: Зарегистрирован: 2011-01-08 Сообщения: 8312 Репутация: 568 Профиль Отправить e-mail
Кириллица в PyCharm
Дык у тебя ж вон Notepad++ есть, он вроде все умеет.
#7 Сен. 12, 2012 10:03:37
Razor Зарегистрирован: 2012-09-11 Сообщения: 127 Репутация: 2 Профиль Отправить e-mail
Кириллица в PyCharm
FishHook
Дык у тебя ж вон Notepad++ есть, он вроде все умеет.

Ну дык у меня и Sublime Text 2 есть, но вопрос то в том, где интерпритировать . Каждый раз подгружать в стандартный интерпритатор Питона, нажимая F5? Я ведь учусь, мне код приходиться часто исправлять, и проверять часто, не сфэйлил ли я. Можно, конечно, и консольный вариант, но мне так код лучше запоминается, а не для того ли я его изучаю?)
#8 Сен. 12, 2012 10:27:34
PooH От: Зарегистрирован: 2006-12-05 Сообщения: 1948 Репутация: 72 Профиль Отправить e-mail
Кириллица в PyCharm
Вообще ввод на русском не работает или отображение открываемых файлов?
во втором случае
1. есть ли в файлах “# coding: xxx”
2. если есть, совпадает ли с действительной кодировкой файла?
3. попробывать поиграться настройками Settings -> File Encodings
в первом случае
попробуйте поменять шрифт в
Settings -> Editor -> Colors & Fonts -> Fonts(там и попробывать сразу можно будет), возможно в выбранном шрифте нет русских символов
Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…
Отредактировано PooH (Сен. 12, 2012 10:27:54)
#9 Сен. 12, 2012 12:52:55
Razor Зарегистрирован: 2012-09-11 Сообщения: 127 Репутация: 2 Профиль Отправить e-mail
Кириллица в PyCharm
PooH
Вообще ввод на русском не работает или отображение открываемых файлов?
во втором случае
1. есть ли в файлах “# coding: xxx”
2. если есть, совпадает ли с действительной кодировкой файла?
3. попробывать поиграться настройками Settings -> File Encodings
в первом случае
попробуйте поменять шрифт в
Settings -> Editor -> Colors & Fonts -> Fonts(там и попробывать сразу можно будет), возможно в выбранном шрифте нет русских символов
Ввод на русском работает, вот только плодов это не приносит. При запуске выскакивает ошибка:
SyntaxError: encoding problem: with BOM
1. В файле есть
# -*- coding: utf-8 -*-
, я ставил utf-8, cp1251, cp866, koi8-r. Результат — строка с ошибкой выше.
2. А какую рекомендуете поставить кодировку с подержкой кириллицы?
3. По вашему совету, поигрался. Прогресса не было (убирал # coding, ставил одинаковые, ставил разные, результат — строка с ошибкой выше…)
#10 Сен. 12, 2012 12:54:08
Razor Зарегистрирован: 2012-09-11 Сообщения: 127 Репутация: 2 Профиль Отправить e-mail
Кириллица в PyCharm
PooH
Вообще ввод на русском не работает или отображение открываемых файлов?
во втором случае
1. есть ли в файлах “# coding: xxx”
2. если есть, совпадает ли с действительной кодировкой файла?
3. попробывать поиграться настройками Settings -> File Encodings
в первом случае
попробуйте поменять шрифт в
Settings -> Editor -> Colors & Fonts -> Fonts(там и попробывать сразу можно будет), возможно в выбранном шрифте нет русских символов
Ввод на русском работает, вот только плодов это не приносит. При запуске выскакивает ошибка:
SyntaxError: encoding problem: with BOM
1. В файле есть
# -*- coding: utf-8 -*-
, я ставил utf-8, cp1251, cp866, koi8-r. Результат — строка с ошибкой выше.
2. А какую рекомендуете поставить кодировку с подержкой кириллицы?
3. По вашему совету, поигрался. Прогресса не было (убирал # coding, ставил одинаковые, ставил разные, результат — строка с ошибкой выше…)