linux设置转码命令 linux命令iconv

如何在Linux中将文件编码转换为UTF-8

在Linux中转换文件的编码可以使用iconv命令,它的使用很简单的,比如下面这条命令将GB2312编码的文件转换成UTF-8编码的文件:

十年的林州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整林州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“林州网站设计”,“林州网站推广”以来,每个客户项目都认真落实执行。

iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt

这个例子中mygb2412.txt是要转换的文件,myutf8.txt是转换后的新文件。 iconv命令最常用的形式就是上面这条命令,它所使用的三个选项解释如下:

-f选项:就是from的意思,后面跟原来的编码格式

-t选项:英文to的意思,后面跟转换后的新编码

-o选项:指定输出文件,就是转换编码后的新文件的文件名,没有这个参数时新文件会将原来的文件覆盖。

其实还可以用几乎每个Linux发行版都自带的gedit这个软件打开需要转换编码的文件,然后选择另存为功能,在保存文件对话框中选择UTF-8编码,再输入一个新文件名点击保存就转换出一个UTF-8编码的文件了。

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)编码打开。

文件编码转换

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

:set fileencoding=utf-8

2. iconv 转换,iconv的命令格式如下:

iconv -f encoding -t encoding inputfile

比如将一个UTF-8 编码的文件转换成GBK编码

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

iconv -f gbk -t utf8 linux常用命令.txt linux常用命令.txt.utf8

文件名编码转换:

从Linux 往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。

在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。

首先看一下你的系统上是否安装了convmv,如果没安装的话用:

yum -y install convmv

安装。

下面看一下convmv的具体用法:

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

常用参数:

-r 递归处理子文件夹

--notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。

--list 显示所有支持的编码

--unescap 可以做一下转义,比如把%20变成空格

比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下:

convmv -f UTF-8 -t GBK --notest utf8编码的文件名

这样转换以后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)

linux下文件编码格式转换方法(gb18030/utf-8)

linux下文件编码格式转换方法(gb18030/utf-8)

在 Linux 做开发或者系统管理遇到乱码是经常的事情,主要windows下中文的默认编码是bg2312,而 linux下是utf-8。很多时候 涉及到和windows平台系统的通信免不了编码的转化,可能大部分人都用iconv库函数(包含在glib中)和iconv命令来执行编码转换,即:

iconv -f gb18030 -t utf-8 file1.txt -o file2.txt

说实话这个命令不好使,一方面容易重复转换,另一方面不支持通配符,无法成批转 换,文件少了还好说,要是一大堆文件岂不是要累死?

今天我要推荐的是另一个 Shell 下编码转换工具enca。用它不仅可以转换编码,还可以查看文件的原始编码,而且还支持成批转换。使用上也比iconv方便一些。安装enca很简单,一般用源安装就行了,enca用法如下:

enca -L 当前语言 文件名

enca -L zh_CN file //检查文件的编码

enca -L 当前语言 -x 目标编码 文件名

enca -L zh_CN -x UTF-8 file //将文件编码转换为”UTF-8″编码

enca -L zh_CN -x UTF-8 file1 file2 //如果不想覆盖原文件可以这样

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

linux文件编码转换及Windows上创建的文件转为Linux格式

在Linux上查看文件,有时候会出现中文乱码的问题。这是因为文件编码不兼容导致的,需要进行文件转码。

1、用VI查看文件编码,在Vi命令模式以下命令,即可显示文件编码格式。

2、 改写~/.vimrc 文件,在文件中添加以下内容,就可以让vi自动识别UTF-8或者GBK编码的文件。

将window上创建的脚本传输到linux执行时,会出现-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory的错误。

1、vi打开文件,并在命令模式下输入以下命令回车,此时看到的是dos格式。

2、修改文件格式, 同样在vi命令格式下,输入以下修改文件格式。


当前标题:linux设置转码命令 linux命令iconv
文章起源:http://hbruida.cn/article/ddooccd.html