Перейти к содержимому

Как изменить кодировку в pycharm

  • автор:

Поддержка кириллицы в 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-сообщество

[RSS Feed]

  • Начало
  • » Инструментальные средства разработки
  • » Кириллица в 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, ставил одинаковые, ставил разные, результат — строка с ошибкой выше…)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *