关于 Linux 系统中使用 cat 以及 vim 出现中文乱码问题的解决方法

文章目录


前言

前段时间在做 Samba 实验时遇到一个问题,即我在 Windows PC 端新建的 txt 文本,在 Linux 服务端去查看或者编辑时,会因为字符集的问题出现乱码,本文记录下处理这个小 case 的方法。

1. 乱码表现

在 Windows PC 端查看文本文件情况如下:
关于 Linux 系统中使用 cat 以及 vim 出现中文乱码问题的解决方法

在 Linux 端使用 cat 命令查看文本文件情况如下:
关于 Linux 系统中使用 cat 以及 vim 出现中文乱码问题的解决方法

在 Linux 端使用 vim 命令编辑文本文件情况如下:
关于 Linux 系统中使用 cat 以及 vim 出现中文乱码问题的解决方法


2. 解决 cat 查看文件出现中文乱码

[root@centos76 新建文件夹]# cat README.txt | iconv -f GBK -t UTF-8
小时不识月,
呼作白玉盘。
又疑瑶台镜,
飞在青云端。[root@centos76 新建文件夹]# 

3. 解决 vim 编辑文件出现中文乱码

编辑 “/etc/vimrc” 文件,添加如下语句:

set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set fileformats=unix
set encoding=prc

关于 Linux 系统中使用 cat 以及 vim 出现中文乱码问题的解决方法

编辑完成后重新用 vim 编辑文件就不会出现乱码了(这里的 ^M 是 Windows 系统特有的换行符,不是乱码):
关于 Linux 系统中使用 cat 以及 vim 出现中文乱码问题的解决方法

针对 ^M 换行符,可以使用如下命令进行格式转换,之后就不会出现 ^M 了:

[root@centos76 新建文件夹]#  yum -y install dos2unix   //配置本地 yum 源即可安装。
[root@centos76 新建文件夹]#  dos2unix README.txt   //将 dos 文件格式转换成 unix 文件格式。
dos2unix: converting file README.txt to Unix format ...

上一篇:兄弟连linux系列(三)Vim使用


下一篇:Hadoop和HBase的日志的时区问题