场景介绍

一些从网上下载的文件,由于其可能是在Windows系统下采用GBK编码格式生成的,所以在Linux系统(默认是UTF8编码)上文件名或文件内容中的中文是乱码。文件名是乱码的话,可以采用重命名的方法。但是如果忘记了原来是什么名字,在Linux系统下则可使用convmv命令对文件名进行转码;对于文件内容则可以使用iconv命令进行转码。

使用示例

根据man手册,convmv的描述是:converts filenames from one encoding to anothericonv的描述是:convert text from one character encoding to another.

文件内容转码

$ iconv -f gbk -t utf-8 <inputfile> -o outputfile

文件名转码

$ convmv -f gbk -t utf-8 --notest -r ./*

--notest,表示不是测试,直接转换 -r,表示递归