PHP Notice: iconv(): Detected an illegal character in input string

今天在工作中利用iconv函数转化汉字字符串时提示如下错误:

PHP Notice: iconv(): Detected an illegal character in input string in …

出错的语句如下:

iconv("gb2312","utf-8",$content);

解决办法,将GB2312更改为GBK即可搞定:

iconv("gbk","utf-8",$content);

出现这个错误的原因是字符串$content中出现了超出gb2312范围的字符,所以iconv函数出错。因为gbk范围比gb3212范围广,又因为这两种格式的编码相同只是范围不同而已,故采用大范围的gbk来定义字符串能够包含比较多的字符,因此转化成功。

参考文献:

http://wolf123.blog.163.com/blog/static/1750542982010717532172/