作者:亲亲萌萌baby0106_671 | 来源:互联网 | 2022-12-26 16:20
python myscript.py
从Windows控制台cmd.exe(即Sublime Text 之外)运行此代码时,它的工作原理如下:
# coding: utf8
import json
d = json.loads("""{"mykey": {"readme": "Café"}}""")
print d['mykey']['readme']
咖啡店
在Sublime Text 2中运行时CTRL+B,它会失败:
这样(默认情况下):
print d ['mykey'] ['readme']
UnicodeEncodeError:'ascii'编解码器无法对位置3中的字符u'\ xe9'进行编码:序数不在范围内(128)
[以0.1秒结束,退出代码为1]
或者像这样,在使用Sublime Text 3(即在构建系统中添加)在Python 3中打印UTF-8的答案应用解决方案之后:cmd.exe
[解码错误 - 输出不是utf-8]
[解码错误 - 输出不是utf-8]
[以0.1秒完成]
添加"env": {"PYTHONIOENCODING": "utf8"},
Python Sublime-build文件也无济于事
如何"encoding": "utf-8"
正确使用Sublime Text 2(适用于Windows)控制台,如果它包含一些UTF8字符?
注意:这不是使用Sublime Text 3在Python 3中打印UTF-8的重复,我之前已经链接到这个问题.
这是print
文件:
{ "cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python" }
(我和没有Python.sublime-build
,有和没有尝试过"env": ...
)