UnicodeDecodeError: 'utf-8' Visual Studio Code using Python 3.5.2

UnicodeDecodeError: 'utf-8' Visual Studio Code using Python 3.5.2

我正在使用 Visual Studio 代码,Python 3.5.2,Windows 10

print("£")

产生了 2 个我不熟悉的符号。

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

产生错误: UnicodeDecodeError:'utf-8' 编解码器无法解码位置 0 中的字节 0x9c:起始字节无效

以上示例使用 Python IDLE 可以完美运行。 我尝试更改 Visual Studio 代码中的编码但没有成功。

我已经使用 Python 3.5.2 一段时间了,我在使用 Sublime Text 3 时从未遇到过这个问题。

非常感谢有关解决此问题的建议。

这似乎是 VS Code 的 Code Runner 插件的问题。解决方法是 运行 终端中的代码。将以下行添加到用户或工作区设置文件:

"code-runner.runInTerminal": false

这适用于 Mac,我不确定 Windows。

一般来说,问题是用于在控制台上打印的默认编码不支持 UTF-8。您可以通过执行以下命令检查使用的默认编码:

import sys
print(sys.stdout.encoding)

当我使用具有默认配置设置的 Code Runner 插件时,此值为 US-ASCII,但当 运行 使用终端时,此值为 UTF-8

很遗憾,我不知道如何更改 Code Runner 插件的默认编码。