Python3在Sublime 3下打印中文字符提示UnicodeEncodeError

1,出现的问题及分析

在Sublime Text3中用ctrl+B运行python程序时,如果要打印输出英文时正常运行,而输出中文时则会报错,具体情况如下:

Traceback (most recent call last):
File "/Users/jishuyiliu/Desktop/Python/2.py", line 2, in
print(a)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

2,解决办法

修改Sublime Text3中的设置

Preferences > Browse Packages > User > Python3.sublime-build
如果不存在这个文件,可以通过新建编译系统保存为这个文件

加上一句 env ,文件内容如下:

{
"cmd": ["/usr/local/bin/python3", "-u", "$file"],
"file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
"selector": "source.python",
"env": {"LANG": "en_US.UTF-8"}
}

到这里, Python3已经可以在Sublime正常输出中文了!

这里要说下,这个问题并不是sublime的编码问题,而是在python3环境下的默认解码格式,由于默认的是ascii,所以没有办法直接解码中文,通过这个办法就搞定了,百度上那批扯淡的没什么卵用。

转载地址:http://www.jishuyiliu.com/archives/264.html