一般情况下,我们在操作linux的时候都会通过一些工具来进行操作,目前比较流行的工具有SecureCRT和Xshell6,在远程访问linux系统中的文件,可能会遇到一些中文乱码的情况
在试用vi编辑文件的时候出现中文不识别的情况,一拿到这个问题之后我的思路是先直接在服务器上操作,进行查看中文文档,看是否乱码,这样就可以直接将问题一分为二,发现我的问题来源于虚拟机本身出现乱码,于是在网络上也查看了一些内容,以下记录全部排查过程
1.虚拟机的编码问题:
<1>.首先查看一下虚拟机的编码集,如果不是UTF-8需要改成UTF-8,如图所示,但是我查看了之后发现本身就是zh_CN.UTF-8,于是继续开始我的探索之旅。。。
[root@master ~]# locale LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8"
发现
<2>.然后我打开/etc/locale.conf文件,发现里面也对着,确实也是UTF-8,在网上找了好多,但是没有遇到答案,然后就想要设置相关的类型肯定是在/etc/文件夹下面,于是再把/etc/文件夹浏览了一大半之后发现了一个影藏在角落的文件/etc/vimrc
vi /etc/vimrc 找到这个位置,按照如下的方案修改 if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=ucs-bom,utf-8,gbk,gb18030,gb2312,latin1 set termencoding=utf-8 set encoding=utf-8 endif set fileencodings=ucs-bom,utf-8,gbk,gb18030,gb2312,latin1 set termencoding=utf-8 set encoding=utf-8
<3>.然后重启一下配置文件就好了,目前到这儿就好了,要是远程工具的问题,相关的设置文档会有很多,在此就不再赘述,有其他的小伙伴遇到了,还烦请指教