php iconv报错的解决办法:1、通过【iconv("GB2312","UTF-8",$text``);】方法把gb2312置换成“utf-8”;2、使用【iconv("UTF-8","GB2312//IGNORE"】方法来解决。
php中iconv报错问题
在php中iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库;但有时候iconv对于部分数据转码会无缘无故的少一些。比如在转换字符"—或者繁体"到gb2312时会出错。
下面一起慢慢看一下这个函数的用法。
最简单的应用,把gb2312置换成utf-8:`$text``=iconv(``"GB2312"``,``"UTF-8"``,``$text``);`
在用$text=iconv("UTF-8","GB2312",$text)过程中,如果遇到一些特别字符时,如:"—或者繁体",英文名中的"."等等字符,转换就断掉了。这些字符后的文字都没法继续转换了。
针对这的问题,可以用如下代码实现:`$text``=iconv(``"UTF-8"``,``"GBK"``,``$text``);`
你没有看错,就这么简单,不使用gb2312,而写成GBK,就可以了。
还有一种方法,第二个参数,加上//IGNORE,忽略错误,如下:`iconv(``"UTF-8"``,``"GB2312//IGNORE"``,``$data``);`
没有具体比较这两种方法,感觉第一种(GBK代替gb2312)方法更好。