Iconv

iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。支持的内码包括：
Unicode相关编码，如UTF-8、UTF-16等等
各国采用的ANSI编码，其中包括GB2312、BIG5等中文编码方式。

作为应用程序的iconv采用命令行界面，允许将某种特定编码的文件转换为另一种编码。

用法 

文件infile从GB18030编码转换至UTF-8编码并写入到文件outfile中：

iconv -f GB18030 -t utf-8 < infile > outfile

PHP语言对iconv封装了3个函数：

iconv_open函数用于初始化用于转换的内部缓冲区，需要指明需要从何种编码方式转换到哪一种。
iconv函数进行实际的转换，需要给出两个间接缓冲区指针和剩余字节数指针。该函数需要更新所有相关信息，因此将不可改写的指针传递给iconv是错误的。
iconv_close函数释放iconv_open函数的缓冲区。

iconv基于GPL公开源代码，是GNU项目的一部分。在各种UNIX操作系统下均可使用，而在Windows系统，需要特殊的环境如cygwin或者GnuWin32等软件平台下方可使用。现在在SourceForge上也有运行于Windows系统的，需要同时安装gettext程序。

目前，libiconv已经包含在C运行时刻库libc.so中。因此，Linux平台上使用iconv库函数的程序，需要包含<iconv.h>，但链接时不需要引入libiconv库了。

参考文献

外部链接 
 http://gettext.sourceforge.net/

Unix SUS2008实用工具
GNU