解决ssh远程连接服务器出现的中文乱码问题

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-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1
set 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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值