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/
  2. 参数

    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

许可协议

评论