假如 你必要 在中操纵 windows下的文件,那么你也许会常常 碰到 文件编码转换的题目 。Windows中默认的文件技俩是GBK(gb2312),而Linux一样平常 都是UTF-8。下面先容 一下,在Linux中怎样 查察 文件的编码及怎样 举办对文件举办编码转换。

查察 文件编码
在Linux中查察 文件编码可以通过以下几种行动 :
1.在中可以直接查察 文件编码
: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