PHP中iconv函数转码时内容出现丢失情况的解决办法

今天晚上在熬夜,做ZenCart的采集程序,在做编码转换时,发现一些国外网站的特殊符号无法转码,同时字段内容出现丢失的情况,原因如下:
PHP的iconv转码函数在转码中若遇到不认识的编码时将停止继续转码,从而导致转码字符串被截断,在转码时目标编码后面加上//IGNORE可以避免这一情况,如:iconv("gbk", "utf-8//IGNORE", $str);
遇到不认识编码时,放弃处理,然后继续转码,不会出现截断问题。

iconv("UTF-8", "GB2312//IGNORE", $data)

发表评论