VSCode - 当我尝试打印unicode时,输出窗口显示“UnicodeEncodeError”

时间:2016-02-23 08:00:37

标签: python visual-studio-code

我刚开始在一些python脚本上使用VSCode。当我尝试打印类似的东西时:

print('%s' % string.decode('utf-8'))

我在输出窗口中收到以下错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 16-20: ordinal not in range(128)

我知道这可能是因为输出流只是ascii,但我找不到改变它的地方......,要么我错过了,要么只是它的方式?

我在Win7 64bit上使用v0.10.8。

提前致谢!

2 个答案:

答案 0 :(得分:0)

您的语法正确

arabic_bytes=b'\xd9\x83\xd9\x84\xd8\xa7 \xd8\xa8\xd8\xaf\xd8\xa7\xd9\x8a\xd8\xa9 \xd9\x88\xd8\xa8\xd8\xaf\xd8\xa7\xd9\x8a\xd8\xa9'

print('%s' % arabic_bytes.decode('utf-8'))

你应该看到كلابدايةوبداية

您的字节字符串可能已损坏,在这种情况下,您解码的更改为

 arabic_bytes.decode('utf-8', errors='ignore')

答案 1 :(得分:0)

我也遇到了同样的问题,这是由插件-Code Runner引起的。

请在此处查看讨论内容:

建议将这些内容写入VSCode设置文件:

{
    "code-runner.executorMap": {
        "python": "set PYTHONIOENCODING=utf8 && python"
    }
}

如果它不起作用,则可以使用它(在终端中运行脚本):

{
    "code-runner.runInTerminal": true
}