把一些Windows上创建的文件发送到Ubuntu后,这些文件(文件夹、压缩包等)的文件名会乱码,原因为windows下的文件名以GBK编码,而Ubuntu下的文件 名为utf-8编码。
convmv
convmv
就是更改文件名编码方式的一个工具。比如
1 | sudo convmv -f gbk -t utf-8 -r –notest /home |
就是将/home目录下原来文件名是gbk编码方式的全部改为utf-8格式的。这里 -f 后面为原来的编码方式,-t 后面是要更改为的编码方式, -r 表示递归形式处理这个目录下面的所有文件, –notest 表示马上执行,而不是仅仅测试而已。另外这命令好像要root才能执行,因此要加上 sudo。
iconv
iconv
是更改文件编码方式的一个工具:
1 | sudo iconv -f gbk -t utf-8 -o outfile infile |
-f为原来的编码方式,-t 为输出文件的编码方式, -o表示输出文件名,这利用outfile表示,最后跟上要更改编码方式的文件名sourcefile 。
很多时候用这两种方式也无法解决乱码问题,令人无奈