vim学习⽇志(8):linux查看和修改⽂件编码
查看⽂件的编码
⽅法⼀:
1.在Vim中可以直接查看⽂件编码
:set fileencoding
即可显⽰⽂件编码格式。
注:如果你只是想查看其它编码格式的⽂件或者想解决⽤Vim查看⽂件乱码的问题,那么你可以在
~/.vimrc ⽂件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936linux查看当前文件夹内容
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明⼀点的是,enca对某些GBK编码的⽂件识别的不是很好,识别时会出现:
Unrecognized encoding
⽅法⼆:(⽅便)
linux命令:
file ⽂件名
显⽰⽂件的格式
⽂件编码转换
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 UTF-8 -t GBK file1 -o file2
⼆、⽂件名编码转换
因为现在⽤linux,原来在windows⾥的⽂件都是⽤GBK编码的。所以copy到linux下是乱码,⽂件内容可以⽤iconv来转换可是好多中⽂的⽂件名还是乱码,到个可以转换⽂件名编码的命令,就是convmv。例如
convmv -f GBK -t UTF-8 *.mp3
不过这个命令不会直正的转换,你可以看到转换前后的对⽐。如果要直正的转换要加上参数 --notest
convmv -f GBK -t UTF-8 --notest *.mp3
-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有⼀个参数很有⽤。就是 -r 这个表⽰递归转换当前⽬录下的所有⼦⽬录。
* 需要安装 convmv-1.arch.rpm
三、更好的傻⽠型命令⾏⼯具enca,它不但能智能的识别⽂件的编码,⽽且还⽀持成批转换。 
1.安装 
$sudo apt-get install enca   
2.查看当前⽂件编码 
enca -L zh_    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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。