在编程的时候,往往需要字符集间编码的转换,这就需要用到一个函数,它就是iconv函数。iconv不是php的默认函数,需要先安装后才能用。 如果是在windows环境下,可以修改php.ini文件,将extension=php_iconv.dll前的";"去掉。关于如何使用,这里可以举个例子。如下:
iconv("UTF-8","GB2312//IGNORE",$data)
它就是把$data从UTF-8字符编码转换为GB2312,简单吧?但有一个bug就是iconv把字符从UTF-8转换为GB2312时遇到"—"会出错,解决方法很简单,就是在需要转成的编码后加 "//IGNORE" ,也就是iconv函数第二个参数后。如下:
iconv("UTF-8","GB2312//IGNORE",$data)
另外mb_convert_encoding没有这个bug,所以最好的写法是:mb_convert_encoding($data, "GB2312", "UTF-8");