sublime中运行python时编码格式问题
方案一在程序文件中以下三句
import sys
reload(sys)
sys.setdefaultencoding('utf8')
方案二在方案一不行的情况下,去除python的问题,sublime的编译顺序问题
设置 Sublime Text 的 Python Build System 环境变量的步骤如下:
- 将 Sublime Text 默认的 Python Build System 的配置文件 Python.sublime-build(找到这个文件的最好方法是安装插件 PackageResourceViewer)复制一份到 Sublime Text 的 /Packages/User 文件夹下(在 Mac 和 Sublime Text 3 下这个路径是 ~/Library/Application Support/Sublime Text 3/Packages/User)。
- 打开编辑新复制来的 Python.sublime-build 文件,如下加上一行设置 PYTHONIOENCODING 环境变量为 UTF-8 编码的内容,并保存:
{ "shell_cmd": "python3 -u \"$file\"", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "env": {"PYTHONIOENCODING": "utf8"}, "selector": "source.python" }
这样一来终于在这么长的文章后能在 Sublime Text 里直接运行 print u'中文',而不用再出现万恶的 UnicodeEncodeError 了。
参考:
格式转换方法:
import json
将文本信息解码为utf-8或转换为gbk
pwd = json.dumps(arg['pwd'],decoding="utf-8",ensure_ascii=False)
print (json.dumps(err1,encoding="gbk",ensure_ascii=False))
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘utf-8’),表示将utf-8编码的字符串转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘utf-8’),表示将unicode编码的字符串转换成utf-8编码。
Henry