【问题标题】:UnicodeDecodeError: 'utf-8' Visual Studio Code using Python 3.5.2UnicodeDecodeError: 'utf-8' Visual Studio Code 使用 Python 3.5.2
【发布时间】:2017-01-07 23:22:40
【问题描述】:

我正在使用 Visual Studio Code、Python 3.5.2、Windows 10

print("£")

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

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

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

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

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

非常感谢您提供解决此问题的建议。

【问题讨论】:

    标签: python-3.5


    【解决方案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 插件的默认编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2018-10-15
      • 2018-05-05
      • 2022-10-18
      • 2018-04-22
      相关资源
      最近更新 更多