UnicodeDecodeError: код Visual Studio utf-8 с использованием Python 3.5.2

Я использую Visual Studio Code, Python 3.5.2, Windows 10.

print("£")

выдает 2 символа, с которыми я не знаком.

input("Enter pound sign: ") -> £

выдает ошибку: UnicodeDecodeError: кодек utf-8 не может декодировать байт 0x9c в позиции 0: недопустимый начальный байт

Приведенные выше примеры отлично работают с Python IDLE. Я безуспешно пытался изменить кодировку в коде Visual Studio.

Я уже некоторое время использую Python 3.5.2. У меня никогда не было этой проблемы с использованием Sublime Text 3.

Советы по решению этой проблемы будут высоко оценены.


person Edster    schedule 16.09.2016    source источник


Ответы (1)


Похоже, это проблема с подключаемым модулем Code Runner для VS Code. . Обходной путь — запустить код в терминале. Добавьте следующие строки в файл настроек пользователя или рабочей области:

"code-runner.runInTerminal": false

Это работает на Mac, я не уверен в Windows.

Вообще говоря, проблема в том, что кодировка по умолчанию, используемая для печати на консоли, не поддерживает UTF-8. Вы можете проверить используемую по умолчанию кодировку, выполнив следующее:

import sys
print(sys.stdout.encoding)

Когда я использую плагин Code Runner с настройками конфигурации по умолчанию, это значение равно US-ASCII, но при запуске с помощью терминала оно равно UTF-8.

К сожалению, я не знаю, как изменить кодировку по умолчанию для плагина Code Runner.

person csiknor    schedule 07.01.2017