Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1236068
  • 博文数量: 135
  • 博客积分: 10576
  • 博客等级: 上将
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-11 20:49
个人简介

不疯魔,不成活! --疯魔老杨(Crazy.LaoYang) http://www.inotes.cn/

文章分类

全部博文(135)

文章存档

2014年(4)

2012年(13)

2011年(5)

2010年(30)

2009年(56)

2008年(27)

分类: LINUX

2010-07-23 15:51:44

linux下的文件的编码
(源自:杨志刚 博客 http://yangzhigang.cublog.cn)
 
前言:
    通常来说,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包。地址( )
我下载的是: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
 
安装convmv
下载相关rpm包,()
阅读(1621) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~