Linux下文件名乱码的解决方法

从网上下了一个zip文件,unzip解压后发现中文显示都是乱码,以前也遇到过打开Windows系统下目录文件名也是乱码的问题。这是什么原因呢?

文件是在Windows下创建的,而Windows的文件名中文编码默认GBK,Linux中默认文件名编码为UTF-8,编码不一致导致了文件名乱码的问题,解决这个问题需要对文件名进行转码,这个工具就是convmv。
SYNOPSIS:        convmv -f 源编码 -t 新编码 [options] FILES ... DIRECTORYS

本人用的是openSUSE,首先安装这个工具,man convmv查看用法
sudo zypper install convmv

然后,进行转码
convmv -f GBK -t zh_CN.UTF-8 -r the/directory


给出的提示显示了有意义的中文,但是ls还是没有变化!man一下,有一个选项--notest,这里不解释了,大家自己去看。

最后的命令:
convmv -f GBK -t zh_CN.UTF-8 -r --notest the/directory

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22479.html