Linux下GBK->UTF-8文件编码批量转换命令

原创 2013年01月15日 09:27:27

个人博客: http://demi-panda.com

  在工作中,经常会遇到使用操作系统不一样的环境,从而导致在不同环境下的文件编辑的编码是不一样的,Windows默认是GBK编码格式,Linux默认是UTF-8的格式,这样就会出现把GBK编码的文件拷贝到Linux下出现乱码情况,很是让人头疼,下面给大家介绍下GBK->UTF-8文件编码批量转换。

Linux命令-enca 查看文件的编码

Enca语法

Usage:  enca [-L LANGUAGE] [OPTION]... [FILE]...
        enconv [-L LANGUAGE] [OPTION]... [FILE]...
        Detect encoding of text files and convert them if required.

Enca用法

$ enca -L zh_CN file 检查文件的编码
$ enca -L zh_CN -x UTF-8 file 将文件编码转换为"UTF-8"编码
$ enca -L zh_CN -x UTF-8 file1 file2 如果不想覆盖原文件可以这样

除了有检查文件编码的功能以外,”enca”还有一个好处就是如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来, 而”iconv”则会报错。这对于脚本编写是比较方便的事情。

转换单个文件的编码

$ enca -L none -x utf-8  index.html

转换多个文件的编码

$ enca -x utf-8 *

Linux文件名编码批量转换--convmv

Convmv语法

$ convmv -f 源编码 -t 新编码 [选项] 文件名

Convmv 常用参数

-r 递归处理子文件夹
notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
list 显示所有支持的编码
unescap 可以做一下转义,比如把%20变成空格

示例

转换一个文件由GBK转换成UTF-8

convmv -f GBK -t UTF-8 --notest utf8 filename

GBK->UTF-8文件编码批量转换脚本

$ find default -type f -exec convmv -f GBK -t UTF-8 --notest utf8 {} -o utf/{} \;

使用iconv 转换

Iconv语法

iconv -f encoding -t encoding inputfile

示例

单个文件转换

$ iconv -f GBK -t UTF-8 file1 -o file2

批量转换

$ find default -type d -exec mkdir -p utf/{} \;
$ find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;

这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。

Android中如何提取和生成mp4文件(MediaMUxer)

http://ticktick.blog.51cto.com/823160/1710743 标签:mp4 Android MediaCodec MediaMuxer Me...
  • STN_LCD
  • STN_LCD
  • 2017年05月22日 14:13
  • 611

ffmpeg开发之旅(7):Android视频直播核心技术(架构)详解

目前主流的直播架构中主要有两种方案,即流媒体转发、P2P。流媒体转发,是一种在视频直播中以流的方式将连续的音、视频数据经编码压缩后传输到流媒体服务器,用户实时从服务器获取流媒体资源,而不必要等待整个文...

linux下GBK->UTF-8文件编码批量转换脚本

nux命令行下查看看文件的编码 enca  文件名 linux文件名编码批量转换 convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r...

批量文件编码转换(GBK/UTF-8/UNICODE etc)

批量文件编码转换,JAVA源码:代码中的GBK为文件编码格式,Unicode为目标文件存储格式,根据个人实际情况切换编码。 warn:因为文件是一次性读取全部字符,所以单个文件大小不要太大,否则会内存...
  • crslee
  • crslee
  • 2016年09月30日 11:20
  • 1239

java 批量文件编码转换 GBK to UTF-8(swing界面)

代码后上需要注意文件编码GBK,内容编码UTF-8的装换,反之亦然!
  • hj_545
  • hj_545
  • 2011年04月21日 10:40
  • 2834

Linux字符编码默认为UTF-8,如出现乱码可设置为GBK 1.手动更改profile文件的命令: vi /etc/profile 也可以修改 /etc/sysconfig/i18n 文件,如

Linux字符编码默认为UTF-8,如出现乱码可设置为GBK 1.手动更改profile文件的命令: vi /etc/profile 也可以修改 /etc/sysconfig/i18n 文件...
  • cbbbc
  • cbbbc
  • 2017年04月01日 14:38
  • 174

编码(UTF-8 GBK等等)批量转换

  • 2013年08月26日 10:41
  • 466KB
  • 下载

批量将Java源代码文件的编码从GBK转为UTF-8

本文转自:http://my.oschina.net/binny/blog/62959

Eclipse:批量将Java源代码文件的编码从GBK转为UTF-8

问题场景:由于老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息都出现乱码。将文本文件的编码格式从GBK转UTF-8的方式有很多,...
  • jj88888
  • jj88888
  • 2013年10月14日 16:53
  • 2849
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下GBK->UTF-8文件编码批量转换命令
举报原因:
原因补充:

(最多只允许输入30个字)