PHP错误:iconv() Detected an illegal character

在PHP中使用iconv函数进行汉字字符串编码转换时遇到非法字符错误,通过更改输入编码从GB2312到GBK解决了问题。本文详细解释了错误原因及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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来定义字符串能够包含比较多的字符,因此转化成功!
--------------------- 
作者:epsilon1 
来源:优快云 
原文:https://blog.youkuaiyun.com/qq_20480611/article/details/48731493 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值