UnicodeDecodeError:使用Python 3.5.2的'utf-8'Visual Studio代码

时间:2016-09-16 09:41:31

标签: python-3.5

我正在使用Visual Studio Code,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从未遇到过这个问题。

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

1 个答案:

答案 0 :(得分:1)

这似乎与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插件的默认编码。