MAC OSX 下 iTerm 2 加 Oh-My-Zsh 下远程ssh的乱码问题

最近远程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
在文件的末尾加入:

export LC_ALL=en_US.UTF-8  
export LANG=en_US.UTF-8

当然我直接更改了更多的省事。

export LANG=en_US.UTF-8
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

再在终端下面输入:

locale

就可以看到字符编码更改了。中文输入和显示问题就解决了。


-----------------EOF--------------------

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/willduan1/article/details/54599295
文章标签: zsh Iterm 乱码 MAC ssh
个人分类: 杂谈
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭