linux 判断和转换文件编码 utf-8 gbk

jackxiang 2010-3-30 20:58 | |
Ubuntu下默认文件编码是utf-8的,一般的编辑器也都支持gbk,gb2312编码,但有些时候还是需要把文档从默认的gbk格式转换成utf-8格式的,比如网上下载的电子书在手机上看会出现半个字,转成utf-8就没这个问题了。


一般转换编码都是用iconv命令来转换,命令格式如下

$iconv -f gb18030 -t utf-8 file1.txt > file2.txt



说实话这个命令不好使,一方面容易重复转换,另一方面不支持通配符,无法成批转换,文件少了还好说,要是一大堆文件岂不是要累死?



于是在google上淘宝,淘得一个更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,而且还支持成批转换。



1.安装

$sudo apt-get install enca



2.转换



命令格式如下

$enca -L 当前语言 -x 目标编码 文件名



例如要把当前目录下的所有文件都转成utf-8

$enca -L zh_CN -x utf-8 *



很简单吧。



不过用的时候发现有一部分文件无法传转,具体原因不祥,不过enca会把无法转换的文件告诉你的。对于这些不能转的文件,可以用gedit另存为的方式转,虽然这法笨点,但挺好使的。


http://lidongok.appspot.com/?p=17001

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/2875/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]