linux下文件编码格式的查看与转换

有时候在windows下编辑的文件到了linux下乱码了,非常郁闷,这个时候通过转换编码格式可以还原文件
在Linux中查看文件编码格式有好几中方法这里主要介绍vi中的方法:
通过vi编辑器直接查看
:set fileencoding
在窗口的最下端会显示文件的现在的编码格式
如果这个时候是乱码则还不能转换,否则转换之后还是乱码,除非你只到原来时候的是什么编码格式,上面vi显示的很可能是latin1之类的编码,这是由于vi不能识别编码默认选取了latin1所以出现了乱码
通过在~/.vimrc中设置如下内容可以自动识别编码
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
设置完成后重新打开文件就发现中文也可以识别了,这个时候可以转换编码
比如将现在的文件转换成utf8的可以执行如下操作
:set fileencoding=utf-8
完成后该文件就是utf8编码的了,一般不会再出现乱码了。


enconv和enca也可一转换编码,我没安装就不说具体操作了。

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

 

相关推荐