前言

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

1. 乱码表现

在 Windows PC 端查看文本文件情况如下:
在这里插入图片描述

在 Linux 端使用 cat 命令查看文本文件情况如下:
在这里插入图片描述

在 Linux 端使用 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

在这里插入图片描述

编辑完成后重新用 vim 编辑文件就不会出现乱码了(这里的 ^M 是 Windows 系统特有的换行符,不是乱码):
在这里插入图片描述

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

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐