Linux下修改文件名编码,convmv命令

日期:2011-12-09    阅读:63   分类:Linux资料

今天在公司tar打包一些编码为GBK的中文文件名的文件时打包碰到的问题。我自己的locale是en_US.UTF8,那台主机的环 境是zh_CN.GBK,因此tar不管怎么打包,都会使文件名出现问题。而如果采用7z打包,虽然可以解决乱码问题(7z会记录下文件名的编码),但会 丢失文件属性,所以不打算采用。

google了下发现可以通过convmv来进行解决:

convmv -f GBK -t UTF8 -r --notest target

其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名(actually do rename the files),target是目标目录。其余参数可以参考man或者-h。

另外一个方案是google到了一个python脚本,通过python的tarfile包解决问题,感兴趣的可以看看这个link: http://superuser.com/questions/60379/linux-zip-tgz-filenames-encoding-problem

来自:vifix.cn

本页链接: http://www.scriptlover.com/static/1308-linux-文件-编码

标签:

相关文章

网友评论

Leave a comment

 required

 required (Not published)

 required