linux环境下轻松搞定文件编码
通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,Linux下打开windows的文件会有乱码的情况.另外,有时要将文件进行编码转换,如将简体中文转换为繁体中文. 基于以上情况,本文将就在linux下查看和转换文件的编码进行说明. 1.查看文件的编码 1)在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 2)enca查看文件编码 # enca filename 直接用enca加文件名查看 # enca -L zh_CN filename 注:enca对某些GBK编码的文件识别不是很好,识别时会出现:unrecognized encoding. 2.转换文件的编码 1)在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 :set fileencoding=utf-8 2)enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,如: # enconv -L zh_CN -x UTF-8 filename # enca -L zh_CN -x UTF-8 < file1 > file2 不覆盖原文件 3)iconv 转换,iconv的命令格式如下: # iconv -f encoding -t encoding inputfile # iconv -l 查询可用编码 # for i in `find ./ -name *.html`;do echo $i;iconv -f gb2312 -t big5 $i -o /tmp/iconv.tmp;mv /tmp/iconv.tmp $i;done 批量转换文件编码实例之一 3.文件名编码转换 Linux与windows间拷贝文件,有时文件名会出现乱码,是Windows的文件名中文编码默认为GBK,而Linux默认的文件名为UTF8.在Linux中有个工具,convmv,可以对文件名进行GBK和UTF的相互转换. 用法: Convmv -f 源编码 -t 新编码 [option] filename 安装enca 下载相关rpm包.地址(linux/RPM/dag/redhat/el5/i386/">http://rpmfind.net/linux/RPM/dag/redhat/el5/i386/ ) 我下载的是:enca-1.10-1.el5.rf.i386.rpm和enca-devel-1.10-1.el5.rf.i386.rpm 安装: # rpm -ivh enca-1.10-1.el5.rf.i386.rpm # rpm -ivh enca-devel-1.10-1.el5.rf.i386.rpm |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |