我正在使用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从未遇到过这个问题。
非常感谢有关解决这个问题的建议。
答案 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插件的默认编码。