Избитая проблема кодировки кириллических шрифтов при коддингде под Windows с использованием Pycharm, когда код имеет print’ы на Русском языке. Некоторые обходят эту проблему конвертированием print’a при его отработке как показано в примере
# -*- coding: utf-8 -*-
print(u’Пример вывода кириллического текста’).encode(‘866’)
# -*- coding: utf-8 -*-
print(u’Пример вывода кириллического текста’).encode(‘866’)
# -*- 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’Пример вывода кириллического текста’)
# -*- coding: utf-8 -*-
import sys
reload(sys)
import locale
sys.setdefaultencoding(locale.getpreferredencoding())
print(u’Пример вывода кириллического текста’)
# -*- 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’Пример вывода кириллического текста’)
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8′)
print(u’Пример вывода кириллического текста’)
import sys reload(sys) sys.setdefaultencoding(‘utf-8′) print(u’Пример вывода кириллического текста’)
reload (sys) — подчёркивает ошибку «unresolved reference ‘reload'»