iconv 转换文件的编码格式
1.命令功能
icnov用于转换文件的编码格式
linux默认中没有icnov文件,需要自己安装http://www.gnu.org/software/libiconv/.
(1)下载libiconv包
[root@localhost ~]# wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
(2)编译源码
[root@localhost ~]# tar zxf libiconv-1.15.tar.gz #解压 [root@localhost ~]# cd libiconv-1.15 [root@localhost libiconv-1.15]# ./configure --prefix=/usr/local [root@localhost libiconv-1.15]# make && make install ...... make[1]: Leaving directory `/root/libiconv-1.15/man'
编译完成,命令可以正常使用
2.语法格式
iconv [OPTION...] [-f encoding] [-t encoding] [inputfile ...]
iconv 选项 源编码 新编码 输入文件
参数说明
参数 |
参数说明 |
-f encoding-A |
从编码A开始转换 |
-t encoding-B |
转换成编码B |
-1 |
显示系统支持的编码 |
-o |
将输出输入到指定文件 |
3.使用范例
windows编码的文件上传到linux中,通过cat命令不能显示文件内容。
[root@localhost ~]# cat windows_gb2312.txt ӭlinux world.
检查文件编码
方法1 file filename
[root@localhost ~]# file windows.txt windows.txt: ISO-8859 text, with no line terminators
方法2 vim filname中输入:set
[root@localhost ~]# vim windows.txt #打开中文乱码 :set fileencoding ÄãºÃ£¬»¶ÓÀ´µ½linux world. ~ ::set fileencoding 输出: fileencoding=latin1
ps:latin1是ISO-8859-1的别名。
ISO-8859-1编码是单字节编码,向下兼容ASCII。