在使用mac 平台的sublime text3 编写Python3程序代码,当遇到中文输出时会遇到如下的错误提示。
‘ascii’ codec can’t encode characters in position 0-5: ordinal not in range(128)
打印中文提示错误
首先分析下出现问题的原因。
1.在命令行,运行py 文件,看汉字是否显示正常,若正常则极大可能为sublime text3的原因。
2.若不正常,可能是Python3的配置原因。
(匆促的判读可能导致问题无法解决,作者在第一时间去查找了Python3的配置问题。折腾了1个小时都没解决问题。)
若显示如下,说明python3的安装配置没有问题。
本机命令行显示编译正常
打开sublime text3的配置文件。在路径下面加入如下代码即可解决。
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf8"},
编辑Python3的配置文件
可正常输出中文汉字
若问题是由于2引起的。则需要在程序中加入如下代码
!!!一定要看py文件在命令行能否正常运行,判断问题所在~!!!
问题2的解决方法,没法解决问题1。网上百度得来的解决方案,大多数都是基于问题2的。