最近远程SSH到服务器运行程序经常出现 “UnicodeEncodeError: 'ascii' codec can't encode character in position 0: ordinal not in range(128)” 这个错误,起初以为是我用 Sublime Text 3文件设置的编码问题,后来看了编码也不是。之后用服务器本地的终端运行程序就没有出现这个错误,因此确定错误是出现在 MAC 这边的, 究竟 MAC 这边是Iterm的问题还是系统的问题需要确定一下,后来用系统自带的终端运行程序没有出现上面说的问题。
这下确定了是由于我使用的Iterm终端加 Oh-My-Zsh的编码问题,这下确定了之后就好办了。经过一堆搜索之后,确定了解决办法。
首先在终端输入,查看你的编码集,
locale
我的出来的是一堆,zh_CN.UTF-8 的编码。
vim ~/.zshrc
在文件的末尾加入: