Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3404323
  • 博文数量: 754
  • 博客积分: 10132
  • 博客等级: 上将
  • 技术积分: 7780
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:36
文章分类

全部博文(754)

文章存档

2012年(3)

2011年(39)

2010年(66)

2009年(167)

2008年(479)

我的朋友

分类: LINUX

2008-04-14 20:51:39

下载网址:

还真不知道怎么来命名这个帖子的标题,我的意思是如何在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
阅读(3851) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~