拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
编辑~/.vimrc文件,加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8
http://blog.icodeu.com/?p=560
遇到了同样的问题,主要是远程服务器的语言编码与终端的编码不一致。
在远程服务器端的 ~/.bashrc 文件里面加入以下代码:
export LANG='UTC-8' export LC_ALL='en_US.UTF-8'
然后bash一下,中文就可以正常显示。
下次登录 .bashrc 文件自动运行,中文照样正常显示。
远程终端和本地终端编码不匹配的原因
服务器是ubuntu,用Mac的iterm2 ssh连上去,终端显示中文乱码,也不能输入中文,然而本地终端可以显示和输入。
这种情况一般是终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集。输入locale可以查看字符编码设置情况,而我的对应值是空的。因为我在本地和服务器都用zsh替代了bash,而且使用了oh-my-zsh,而默认的.zshrc没有设置为utf-8编码,所以本地和服务器端都要在.zshrc设置,步骤如下,bash对应.bash_profile或.bashrc文件。
locale
zsh
bash
oh-my-zsh
.zshrc
utf-8
.bash_profile
.bashrc
1.在终端下输入
vim ~/.zshrc
或者使用其他你喜欢的编辑器编辑~/.zshrc文件<!--more-->
~/.zshrc
2.在文件内容末端添加:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
接着重启一下终端,或者输入source ~/.zshrc使设置生效。
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"
这时,中文输入和显示都正常了。
编辑~/.vimrc文件,加上如下几行:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
http://blog.icodeu.com/?p=560
遇到了同样的问题,主要是远程服务器的语言编码与终端的编码不一致。
在远程服务器端的 ~/.bashrc 文件里面加入以下代码:
然后bash一下,中文就可以正常显示。
下次登录 .bashrc 文件自动运行,中文照样正常显示。
远程终端和本地终端编码不匹配的原因
问题:
服务器是ubuntu,用Mac的iterm2 ssh连上去,终端显示中文乱码,也不能输入中文,然而本地终端可以显示和输入。
解决方法:
这种情况一般是终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集。
输入
locale
可以查看字符编码设置情况,而我的对应值是空的。因为我在本地和服务器都用
zsh
替代了bash
,而且使用了oh-my-zsh
,而默认的.zshrc
没有设置为utf-8
编码,所以本地和服务器端都要在.zshrc
设置,步骤如下,bash对应.bash_profile
或.bashrc
文件。1.在终端下输入
或者使用其他你喜欢的编辑器编辑
~/.zshrc
文件<!--more-->
2.在文件内容末端添加:
接着重启一下终端,或者输入
source ~/.zshrc
使设置生效。设置成功的话,在本地和登录到服务器输入
locale
回车会显示下面内容。这时,中文输入和显示都正常了。