|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!假如你必要在Linux中操纵windows下的文件,那末你大概会常常碰到文件编码转换的成绩。Windows中默许的文件格局是GBK(gb2312),而Linux一样平常都是UTF-8。上面先容一下,在Linux中怎样检察文件的编码及怎样举行对文件举行编码转换。
检察文件编码
在Linux中检察文件编码能够经由过程以下几种体例:
1.在Vim中能够间接检察文件编码
:setfileencoding
便可显现文件编码格局。
假如你只是想检察别的编码格局的文件大概想办理用Vim检察文件乱码的成绩,那末你能够在
~/.vimrc文件中增加以下内容:
setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936
如许,就能够让vim主动辨认文件编码(能够主动辨认UTF-8大概GBK编码的文件),实在就是按照fileencodings供应的编码列表实验,假如没有找到符合的编码,就用latin-1(ASCII)编码翻开。
2.enca(假如你的体系中没有装置这个下令,能够用sudoyuminstall-yenca装置)检察文件编码
$encafilename
filename:Universaltransformationformat8bits;UTF-8
CRLFlineterminators
必要申明一点的是,enca对某些GBK编码的文件辨认的不是很好,辨认时会呈现:
Unrecognizedencoding
文件编码转换
1.在Vim中间接举行转换文件编码,好比将一个文件转换成utf-8格局
:setfileencoding=utf-8
2.enconv转换文件编码,好比要将一个GBK编码的文件转换成UTF-8编码,操纵以下
enconv-Lzh_CN-xUTF-8filename
3.iconv转换,iconv的下令格局以下:
iconv-fencoding-tencodinginputfile
好比将一个UTF-8编码的文件转换成GBK编码
iconv-fGBK-tUTF-8file1-ofile2
Linux文件名编码转换
从Linux往windows拷贝文件大概从windows往Linux拷贝文件,偶然会呈现中文文件名乱码的情形,呈现这类成绩的缘故原由是由于,windows的文件名中文编码默许为GBK,而Linux中默许文件名编码为UTF8,因为编码纷歧致,以是招致了文件名乱码的成绩,办理这个成绩必要对文件名举行转码。
在Linux中专门供应了一种工具convmv举行文件名编码的转换,能够将文件名从GBK转换成UTF-8编码,大概从UTF-8转换到GBK。
起首看一下你的体系上是不是装置了convmv,假如没装置的话用:
yum-yinstallconvmv
装置。
上面看一下convmv的详细用法:
convmv-f源编码-t新编码[选项]文件名
经常使用参数:
-r递回处置子文件夹
--notest真正举行操纵,请注重在默许情形下是不合错误文件举行实在操纵的,而只是实验。
--list显现一切撑持的编码
--unescap能够做一下本义,好比把%20酿成空格
好比我们有一个utf8编码的文件名,转换成GBK编码,下令以下:
convmv-fUTF-8-tGBK--notestutf8编码的文件名
如许转换今后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会产生变更)。
注重:不要在NTFS和FAT文件体系中利用此下令,不然大概发生不测了局,假如要在Linux中准确的显现NTFS和FAT的中文件名,能够经由过程mount参数来办理,详细***检察一下man手册。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|