【出现问题】
在Linux系统中,含有汉字的文件名显示乱码。
【原因分析】
在Windows系统中 ,文件名中文编码方式默认为 GBK ,Linux系统中文件名默认编码方式为 UTF-8 。当文件从Windows系统传输到Linux系统中时,要注意转换编码方式。
【操作步骤】
- 即使将 Linux的 locale.conf 设置了
LANG=en_US.UTF-8
,同时将本地的Shell客户端编码也设置成 UTF-8 ,但是结果显示文件名称依然是乱码。 - 这种情况需要对文件名称进行转码,需要先安装文件名转码工具 convmv ,使用语句
yum -y install convmv
。 - 安装成功后,
convmv -f gbk -t utf-8 -r --notest /root/
命令是对root文件夹下所有的中文文件名的文件进行转码。convmv -f gbk -t utf-8 -r --notest /root/????.txt
是对root文件夹下的某一乱码中文文件名的文件进行转码。
【命令总结】
安装转码工具:yum -y install convmv
对文件进行转码:
(整个root目录下)
convmv -f gbk -t utf-8 -r --notest /root/
(root目录下的某一文件)
convmv -f gbk -t utf-8 -r --notest /root/????.txt