mac 平台 sublime text 3 中 python3 中文输出 UnicodeEncodeError

mac 平台 sublime text 3 中 python3 中文输出 UnicodeEncodeError

环境

  • osx ei capitan
  • lang:en_US
  • python 3.6.4
  • sublime text 3

配置

osx 默认的 python 版本是 2.7sublime text 3 提供的 build 系统也是基于 python2,要使用 python3,需要 new bulid system,命名为Python3即可。

Preferences > Browse Packages > User > Python3.sublime-build

添加以下内容并保存

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

分析

测试 print 英文输出成功,中文输出总是UnicodeEncodeError,查阅了很多博客找到了一个可行的方法。
首先在idle中执行
import sys
sys.stdout.encoding
输出结果 'us-ascii'
可见是输出设置的问题,默认英文状态采用 ASCII 肯定无法显示中文。

解决

修改 Python3.sublime-build,添加一行

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

再次测试,中文可以显示。

问题解决
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值