转自http://jeamic.blog.163.com/blog/static/88820600201010151449879/
在php中利用iconv函数转化汉字字符串时提示如下错误:
Notice: iconv() [function.iconv]: Detected an illegal character in input string in a.php on line 796
出错的语句如下:
iconv("GB2312","UTF-8",$a);
解决办法,将GB2312更改为GBK即可搞定:
iconv("GBK","UTF-8",$a);
出现这个错误的原因是字符串$a中出现了超出gb2312范围的字符,所以iconv函数出错。因为gbk范围比gb3212范围广,又因为这两种格式的编码相同只是范围不同而已,故采用大范围的gbk来定义字符串能够包含比较多的字符,因此转化成功!
近日发现如此依然不能解决问题,故采用以下方法忽略问题的出现。即在UTF-8后添加//IGNORE。详见http://www.cnblogs.com/chenwenbiao/archive/2011/08/25/2153711.html