ssh远程连接服务器出现中文乱码主要分为两种:
1、命令行输出的中文有乱码
比如ll输出的月份,ibus等命令输出的信息
2、vim打开文件,文件显示乱码
解决命令行输出中文有乱码
1、查看使用的XShell活MobaXterm等远程连接软件的会话属性。
以XShell为例:文件->当前会话属性/默认会话属性->终端->编码,设置成Unicode(UTF-8)。
2、进入服务器,查看服务器默认语言属性
以Centos系统为例,其他linux系统类似。
使用命令locale活echo $LANG,可以查看当前系统使用的语言以及编码,我这边原本是LANG=zh_CN。
使用命令export LANG=zn_CN.UTF-8可以零食在当前会话中改变服务器编码
或者直接编辑文件~/.bash_profile,修改或加入export LANG=zn_CN.UTF-8,在当前用户下永久将服务器编码都改成zn_CN.UTF-8。
检测是否成功,输入ll、ibus等命令查看是否还有乱码
自己输入中文,看看是否显示正常,并且在删除输入的时候,能按照宽字符处理,将一整个中文字符删除。
解决vim打开的文件中文乱码问题
在~目录下创建或修改.vimrc文件,修改或添加以下几行。一般来说这里的encoding和termencoding保持一致,且为utf-8、gbk、gb2312、gb18030中的一个就可以了,我暂时不清楚写哪个比较好,既然utf-8可以,那就用utf-8吧。
" 单个双引号为.vimrc的注释符" 设置vim打开的编码格式set encoding=utf-8set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1set termencoding=utf-8" tab替换成空格,默认为8个set expandtab" tab替换成的空格数改成4个set ts=4" 设个好像是显示时空格对其的设置set shiftwidth=4" 语法高亮syntax on" 显示行数" set nu
另外,如果vim打开文件乱码,cat输出文件不乱吗,可以尝试在vim打开的文件内进行以下操作
:e ++enc=utf8或者:e ++enc=zh_CN应该有一个能把乱码变正常。执行后文件变为readonly状态,需要修改的话,设置:set noreadonly
如果觉得《解决ssh远程连接服务器出现的中文乱码问题》对你有帮助,请点赞、收藏,并留下你的观点哦!