`

linux下查看文件编码及修改编码

阅读更多

查看文件编码
在Linux中查看文件编码可以通过以下几种方式:
1.在Vim中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
Unrecognized encoding

文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8

2. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename

3. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2

 

查看文件编码file命令
file ip.txt  ip.txt: UTF-8 Unicode text, with escape sequences
一、利用iconv命令进行编码转换文件内容编码转换  iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。  用法: iconv [选项...] [文件...]  有如下选项可用:  输入/输出格式规范:  -f, --from-code=名称 原始文本编码  -t, --to-code=名称 输出编码  信息:  -l, --list 列举所有已知的字符集    输出控制:  -c 从输出中忽略无效的字符  -o, --output=FILE 输出文件  -s, --silent 关闭警告  --verbose 打印进度信息  -?, --help 给出该系统求助列表  --usage 给出简要的用法信息  -V, --version 打印程序版本号    例子:  iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt  这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。
二、文件名编码转换
因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv。
convmv命令详细参数  例如
convmv -f GBK -t UTF-8 *.mp3
不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest
convmv -f GBK -t UTF-8 --notest *.mp3
-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。
* 需要安装 convmv-1.10-1.el5.noarch.rpm
三、  更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,而且还支持成批转换。    1.安装    
$sudo apt-get install enca    
2.查看当前文件编码    
enca -L zh_CN ip.txt     Simplified Chinese National Standard; GB2312     Surrounded by/intermixed with non-text data    
3.转换    命令格式如下    
$enca -L 当前语言 -x 目标编码 文件名    
例如要把当前目录下的所有文件都转成utf-8    
enca -L zh_CN -x utf-8 *     
检查文件的编码 enca -L zh_CN file     
 将文件编码转换为"UTF-8"编码  enca -L zh_CN -x UTF-8 file
如果不想覆盖原文件可以这样         enca -L zh_CN -x UTF-8 < file1 > file2 

原文:http://blog.csdn.net/jnbbwyth/article/details/6991425/
(已迁移)
分享到:
评论

相关推荐

    linux 查看文件编码

    除了命令行工具,还有一些图形界面工具,如Notepad++(在Linux下可通过Wine运行)和Geany,它们都提供了查看和更改文件编码的功能。在日常工作中,选择适合自己的工具,结合使用上述命令行工具,可以有效地管理和...

    Linux下批量修改文件编码

    ### Linux下批量修改文件编码 在Linux环境下,批量修改文件编码是常见的操作需求之一,尤其在处理不同系统间文件交互时尤为重要。本文将详细介绍如何在Linux下实现文件编码的批量转换,并通过一个具体示例来展示...

    linux 编码文件

    配置Linux的字符集通常通过修改`/etc/locale.conf`文件来实现,或者使用`localectl`命令。例如,要设置系统默认locale为UTF-8,可以在`/etc/locale.conf`中添加以下行: ``` LANG="en_US.UTF-8" ``` 然后重启系统或...

    java批量修改指定文件夹下多级文件编码格式

    经常碰到文件编码格式不一致导致一堆问题,想在linux上批量修改文件夹下的文件编码,操作太麻烦,花了一点时间写了个java程序来操作,用着非常方便,详情如下: 在FileEncodeTranslate类中,修改一下源文件夹路径,...

    Linux系统中关于文件编码以及编码的转换

    ### Linux系统中关于文件编码及编码转换的详细解析 #### 一、文件编码的基本概念 在计算机科学领域,文件编码是指计算机系统用来表示文本信息的一种方式。不同的编码方式支持不同的字符集,例如英文字符通常使用...

    mac文件编码转换

    在Mac操作系统中,文件编码转换是一项重要的任务,尤其对于处理包含不同字符集的文本文件时。常见的文件类型如txt、xml、css、htm、html、php、jsp等,它们可能因开发环境或语言设定的不同而采用不同的编码方式,如...

    修改Ubuntu中文编码格式

    总之,在Linux系统尤其是Ubuntu中处理中文编码问题需要一系列配置步骤,从查看和修改系统locale配置到调整文本编辑器和终端的默认编码,每一步都需要准确操作以确保中英文环境的兼容和稳定。通过这些步骤的执行,...

    文件编码批量转换工具(不用积分)

    2,文件编码自动识别,所以使用的时候不用提供原文件的编码;识别不了不会转换,保证项目文件的安全 3,支持utf-8-bom编码 4,兼容Linux & Windows & Mac系统 5,不用安装,只要机器有JDK就可以使用 需要源码的请...

    关于linux环境下误以为文件乱码的问题

    - 当使用不支持UTF-8编码的工具(如WinSCP v4.2.5)查看Linux文件时,会因为编码不匹配而导致乱码。 - 使用支持UTF-8编码的工具(如SecureCRT v6.1.3)查看Linux文件时,则不会出现乱码。 2. **问题解决** - ...

    linux core文件生产设置与编码

    以上这些就是关于Linux下core文件生成设置及编码的知识点。通过合理配置这些参数,可以在程序异常退出时获取完整的内存映像,极大地方便了程序的调试和错误定位。需要注意的是,在生产环境中应谨慎开启core文件生成...

    文件编码转换工具java

    标题中的“文件编码转换工具java”表明这是一款基于Java编程语言开发的应用,主要功能是进行文件编码的转换。在IT领域,文件编码是至关重要的,不同的编码格式适用于不同的语言和平台,例如ASCII、UTF-8、GBK等。这...

    windows下压缩的zip文件,上传到Linux后unzip不认的解决办法

    此外,某些ZIP文件可能会包含NTFS特有属性,这些在FAT或EXT等Linux文件系统中是不支持的。 解决这个问题的方法有以下几种: 1. **修改上传方式**: 如果你使用的是secureCRT或其他终端软件上传文件,确保在上传时...

    Linux文件管理Linux的文件系统

    1. 普通文件:包括文本文件(ASCII编码,可编辑)和二进制文件(不可直接查看或修改)。 2. 目录文件:存储的是目录内的文件名和子目录名。 3. 设备文件:位于/dev目录下,用于用户访问物理设备,分为块设备(如硬盘...

    linux下的文本文件读写操作

    在Linux操作系统中,文本文件的读写...在实际开发中,理解并熟练运用这些函数至关重要,因为它们是Linux环境下进行文件操作的基础。记得在编写代码时,始终确保遵循良好的编程实践,如适当注释、错误处理和资源管理。

    在Linux系统中修改文本的字符编码的方法.docx

    下一步是查看你的 Linux 系统所支持的文件编码种类。为此,我们使用名为 iconv 的工具及 "-l" 选项(L 的小写)来列出所有当前支持的编码。 ``` $ iconv -l ``` iconv 工具是 GNU libc 库组成部分,因此它在所有 ...

    linux查看系统编码和修改系统编码的方法

    本文将详细介绍如何在Red Hat Linux系统中查看当前的系统编码以及如何进行修改。 首先,我们要了解如何查看Linux系统的当前编码设置。在Red Hat系统中,我们可以使用`locale`命令来查看。这个命令会显示系统的所有...

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    当在Linux环境下处理包含中文的文件名时,如果没有正确设置字符编码,就会出现乱码现象。 为了解决这个问题,我们需要让Linux系统支持中文。一种方法是在 `/usr/lib/locale` 目录下的默认配置中添加对中文的支持。...

    linux下删除乱码文件

    在Linux系统中,由于编码问题或文件名包含特殊字符,我们常常会遇到一些无法通过常规方式删除的乱码文件。这些文件可能出现在任何目录下,不仅占用磁盘空间,还可能导致文件管理操作变得复杂。因此,掌握如何在Linux...

    解决windows下的中文txt文件在linux(rhel,ubuntu)中显示乱码的问题

    当确认中文可以正常显示,但仅在打开来自Windows系统的TXT文件时出现乱码,可以通过iconv工具将文件编码从GB2312(或GBK)转换为UTF-8。具体操作如下: ```bash iconv -f gb2312 -t utf-8 test.txt &gt; test_utf8.txt...

    linux命令记录

    74. touch:更改文件的访问和修改时间。 75. umount:卸载文件系统。 76. useradd:创建新用户。 77. userdel:删除用户。 78. usermod:修改用户账户。 79. vi/vim:文本编辑器。 80. vmstat:显示虚拟内存...

Global site tag (gtag.js) - Google Analytics