热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MACOSX下iTerm2加Oh-My-Zsh下远程ssh的乱码问题

最近远程SSH到服务器运行程序经常出现“UnicodeEncodeError:asciicodeccantencodecharacterinposition0:ordin

最近远程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--------------------


推荐阅读
author-avatar
小马不小
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有