新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在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中查看文件编码可以通过以下几种方式:
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 做开发或者系统管理遇到乱码是经常的事情,主要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上查看文件,有时候会出现中文乱码的问题。这是因为文件编码不兼容导致的,需要进行文件转码。
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命令格式下,输入以下修改文件格式。