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。

原文地址:https://www.cnblogs.com/joechu/p/8947622.html