linuxshell中⽂件编码查看及转换⽅法
⼀、查看⽂件编码。
在打开⽂件的时候输⼊:set fileencoding
即可显⽰⽂件编码格式。
⼆、⽂件编码转换
1、在Vim中直接进⾏转换⽂件编码,⽐如将⼀个⽂件转换成utf-8格式
在打开的⽂件中输⼊:set fileencoding=utf-8
2、使⽤iconv转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
⽐如将⼀个编码的⽂件转换成GBK编码
iconv -f UTF-8 -t GBK file1 -o file2
iconv的⽤法:
⽤法: iconv [选项...] [⽂件...]
Convert encoding of given files from one encoding to another.
输⼊/输出格式规范:
linux查看当前文件夹内容-f, --from-code=NAME      原始⽂本编码
-t, --to-code=NAME        输出编码
信息:
-l, --list                列举所有已知的字符集
输出控制:
-c                        从输出中忽略⽆效的字符
-o, --output=FILE          输出⽂件
-
s, --silent              suppress warnings
--verbose              打印进度信息
-?, --help                给出该系统求助列表
--usage                给出简要的⽤法信息
-V, --version              打印程序版本号
将GB2312编码的⽂件内容转换为UTF-8
iconv -f GB2312 -t UTF-8 file-name > new-file-name
将UTF-8编码的⽂件内容转换为GB2312
iconv -f UTF-8 -t GB2312 file-name > new-file-name
注意:转换前⼀定要将重要的⽂件备份,特别是转换⽂件内容的时候
三、⽂件名编码转换:
从linux往windows拷贝⽂件或者从windows往Linux拷贝⽂件,有时会出现中⽂⽂件名乱码的情况,出现这种问题的原因是因
为,windows的⽂件名中⽂编码默认为GBK,⽽Linux中默认⽂件名编码为UTF8,由于编码不⼀致,所以导致了⽂件名乱码的问题,解决这个问题需要对⽂件名进⾏转码。
在Linux中专门提供了⼀种⼯具convmv进⾏⽂件名编码的转换,可以将⽂件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。
1、先看⼀下你的系统上是否安装了convmv,如果没安装的话在终端输⼊下⾯的命令安装:
sudo yum -y install convmv
2、下⾯看⼀下convmv的具体⽤法:
convmv -f 源编码 -t 新编码 [选项] ⽂件名
常⽤参数:
-r 递归处理⼦⽂件夹
-
-notest 真正进⾏操作,请注意在默认情况下是不对⽂件进⾏真实操作的,⽽只是试验。
--list 显⽰所有⽀持的编码
--unescap 可以做⼀下转义,⽐如把%20变成空格
⽐如我们有⼀个utf8编码的⽂件名,转换成GBK编码,命令如下:
convmv -f UTF-8 -t GBK --notest utf8编码的⽂件名
这样转换以后"utf8编码的⽂件名"会被转换成GBK编码(只是⽂件名编码的转换,⽂件内容不会发⽣变化)

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