从Windows往Linux拷贝文件,有时会呈现中文文件名乱码的现象,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致的原因,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。
今天,介绍一个Linux的小工具:convmv。它可以帮助你完成文件名编码的转换,将文件名从GBK转换成UTF-8编码,也能从UTF-8转换到GBK。
首先看一下你的系统上是否安装了convmv,假如没安装的话用:
yum -y install convmv 安装。
下面看一下convmv的详细用法:
convmv -f 源编码 -t 新编码 [选项] 文件名
常用参数:
-r 递归处理子文件夹
–notest 真正执行转码,请注意在默认情况下文件名不是真正转码,而只是试验。
–list 显示所有支持的编码
–unescap 可以做一下转义,好比把%20变为成空格
现在,我们有一个utf8编码的文件名,转换成GBK编码,命令如下:
convmv -f UTF-8 -t GBK –notest utf8编码的文件名
这样转换今后”utf8编码的文件名”会被转换成GBK编码(只是文件名编码的转换,文件内容不会产生变革)
对于Linux下SVN工作副本中文乱码的问题,同样能解决,不错的小工具。