no comments yet
25 Nov 2019

CentOS7 中文文件名乱码

一台CentOS7的server上有一些资料,想用脚本传到dropbox上去,其中一部分是中文目录/文件名,在CentOS7下不能正常显示,所以传输失败,查了下原因,在WIndows创建的的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。
安装文件名转码工具convmv:

yum -y install convmv

对中文目录/文件转码:

convmv -f GBK -t UTF-8 --notest -r /home/test

/home/test --- 代表出现乱码所在的文件的目录

常用参数:
-r 递归处理子文件夹
–notest 真正进行操作,默认情况下是不对文件进行真实操作
–list 显示所有支持的编码
–unescap 可以做一下转义,比如把%20变成空格
-i 交互模式(询问每一个转换,防止误操作)