Как изменить кодовую страницу Windows 8 в консоли Python 3 Spyder с cp1252 на utf-8?
Кодовая страница, по-видимому, cp1252, о чем свидетельствует
import locale
locale.getpreferredencoding()
Это означает, что трудно печатать символы, отличные от ascii, с помощью «print», поскольку возникает исключение (UnicodeEncodeError
).
Одним из возможных решений является использование метода .encode и его аргумента «ошибки».
u'\x9d'.encode('cp1252', errors='replace')
Но почему нет (или где есть) возможности изменить кодировку консоли на utf-8. Я ожидал вариант в «Предпочтениях».
Другим решением является выполнение файла python вне Spyder, например:
chcp 65001
c:\path_to_python\python.exe the_script.py
Это работает, но ему не хватает интегрированности Spyder.
Я попытался сделать пакетный файл с
chcp 65001
c:\path_to_python\python.exe
И установите для этого «использовать следующий интерпретатор Python» в «Дополнительных настройках», но Spyder не позволит этого — по крайней мере, так, как я пробовал.
Я также не мог сделать другой обходной путь, создав пакетный скрипт с:
chcp 65001
c\:path_to_spyder\Spyder.exe