mac 终端下ssh 登陆远程服务器不发输入中文

转:https://segmentfault.com/q/1010000000150673nginx

用Mac的iterm2 ssh连上去,终端显示中文乱码,也不能输入中文,然而本地终端能够显示和输入。vim

解决方法:

这种状况通常是终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集。
输入locale能够查看字符编码设置状况,而个人对应值是空的。
由于我在本地和服务器都用zsh替代了bash,并且使用了oh-my-zsh,而默认的.zshrc没有设置为utf-8编码,因此本地和服务器端都要在.zshrc设置,步骤以下,bash对应.bash_profile.bashrc文件。segmentfault

1.在终端下输入bash

vim ~/.zshrc

或者使用其余你喜欢的编辑器编辑~/.zshrc文件
<!--more-->服务器

2.在文件内容末端添加:ssh

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

接着重启一下终端,或者输入source ~/.zshrc使设置生效。编辑器

设置成功的话,在本地和登陆到服务器输入locale回车会显示下面内容。编码

LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8"

这时,中文输入和显示都正常了。spa

相关文章
相关标签/搜索