Linux 下 解决中文文件名乱码(GBK 文件名转换为 UTF-8)

  在 Windows 上创建的文件,文件名是中文,上传到 Linux 后,中文名显示乱码,中文名的HTML文件无法加载。

  原因是 Windows 的文件名中文编码默认是 GBK,而 Linux 默认的文件名编码是 UTF-8, 解决文件名中文乱码,需要进行转码

  1. 转换
1
2
3
4
5
yum install convmv 
convmv -f gbk -t utf-8 -r --notest /home/wwwroot

apt install convmv
convmv -f gbk -t utf-8 -r --notest webapp/
  1. 参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-r 以递归方式遍历子目录

–notest 实际上是重命名文件

–list 显示所有支持的编码

–unescap 可以做一下转义,比如把%20变成空格

-i 交互模式(询问每一个转换,防止误操作)

linux下有许多方便的小工具来转换编码:

文本内容转换 iconv

文件名转换 convmv

mp3标签转换 python-mutagen

Linux 下 解决中文文件名乱码(GBK 文件名转换为 UTF-8)

http://blog.gxitsky.com/2018/11/17/Linux-Common-chinese-gbk-convert-to-utf-8/

作者

光星

发布于

2018-11-17

更新于

2022-06-17

许可协议

评论