convmv , iconv 转乱码

原文: http://blog.163.com/yaning_softwo/blog/static/37837721201171114221611/


下载网址:
http://download.chinaunix.net/download/0002000/1760.shtml
还真不知道怎么来命名这个帖子的标题,我的意思是如何在gbk,gb18030,gb2312,utf8编码中创建的文件实现互相转换。
并不是所有的Linux分发版本都采用一种编码,比如RedFlag默认采用GB18030的编码,当然这还不包括自己修改系统默认编码。因此编码之间转换就很有必要了。
编码转换分为两个部分:内容和文件名。
内容的转换:
iconv显然是最佳工具,目前支持绝大部分编码,而且大部分系统自带。不过对GB18030并不能完全支持。
iconv的基本用法:
iconv -f -t -o orig_file
-f, --from-code=名称       原始文本编码
-t, --to-code=名称         输出编码
-o, --output=FILE          输出文件
当然你可以使用 -l 或者 --list来查查看目前支持的编码。
文件名的转换
显然,convmv是对付这个问题的好工具,他实际上是一个perl程序,不是所有的系统都自带。
使用方法也非常简单:
convmv -f gb2312 -t utf8 -r --notest *
-r表示包含所有子目录,并且连带目录也转换
不加--notest就表示只看看有什么需要转换的,不做实际转换

例子:
假设在“/root/wilson/test”有乱码文件
[root@localhost test]# convmv -f utf8 -t gb2312 -r --notest  *
mv "./4X4閿洏.txt"    "./4X4键盘.txt"
mv "./Linux涓婹t缂栫▼鍏ラ棬鏁欑▼涓枃鐗堜笅杞??.rar"  "./Linux下Qt编程入门教程中文版下载.rar"
mv "./甯哥敤ARM鎸囦护闆嗗強姹囩紪.pdf"  "./常用ARM指令集及汇编.pdf"
Ready!
[root@localhost test]# ls
4X4键盘.txt  Linux下Qt编程入门教程中文版下载.rar  常用ARM指令集及汇编.pdf


=============================================================

其他文章: http://godontop.com/175.html (此博客还有其它不错的文章)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值