linux环境下轻松搞定文件编码

系统 Linux
有很多时候Windows中的文件需要会在Linux系统环境下运行,但是会出现乱码的情况。同时还会出现编码转换的工作。基于以上情况,本文将就在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包。地址(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

【编辑推荐】

  1. 如何监测Linux进程的实时IO读写情况
  2. Linux内核入门,包教会
  3. Linux技巧:多核下绑定硬件/进程到不同CPU
  4. 奔跑在Web服务器上的主流与非主流Linux
  5. 从边缘到中心 Linux操作系统已成为数据中心首选
责任编辑:张浩 来源: 杨志刚的博客
相关推荐

2009-12-11 15:37:58

Linux日志处理

2009-08-17 08:45:34

Windows 7文件删除

2022-09-29 10:51:18

ShellLinux命令审计

2009-12-03 11:37:56

Suse Linux

2015-03-09 09:49:27

2018-06-28 15:58:04

PDF

2010-03-15 12:50:19

Python文件夹创建

2020-01-06 11:50:25

LinuxEquinox桌面

2010-03-16 14:42:16

linux环境

2017-05-11 15:01:43

Androidweb布局

2022-09-16 08:04:25

阿里云权限网络

2017-01-04 11:28:37

WiFi信号网络

2011-06-20 09:36:29

LinuxLive USB

2024-12-16 15:50:51

2009-10-27 14:27:28

Linux配置大量IP

2010-09-17 14:04:14

JVM内存设置

2009-10-23 17:51:51

Oracle用户密码

2021-05-18 09:01:09

Windows操作系统NodeJs服务器

2010-06-04 14:28:01

Hadoop开发环境

2009-11-06 10:05:18

Linux系统环境GFS
点赞
收藏

51CTO技术栈公众号