PHP中利用ICONV转化字符串编码出错【DETECTED AN ILLEGAL CHARAC...

刚才在折腾自己的不分页功能的时候,遇到gb2312与utf8的乱码问题。

注:不分页是什么?

不分页,顾名思义。是将网页的分页内容合并起来!日日看,不分页,发育发完又再大![引用《一蚊鸡保镖》]

站点首页:http://www.bufenye.com

正经版的DEMO

http://bufenye.com/lib/tom365_com/

你懂版的DEMO

http://bufenye.com/lib/789pp_com_ribenmeinv

于是,度娘一下。找到了解决方法!

来源于 http://www.pkphp.com/2008/12/19/php-iconv-detected-an-illegal-character-in-input-string/

在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来定义字符串能够包含比较多的字符,因此转化成功!

你可能感兴趣的:(PHP中利用ICONV转化字符串编码出错【DETECTED AN ILLEGAL CHARAC...)