分割GBK中文遭遇乱码的解决方法

前端之家收集整理的这篇文章主要介绍了分割GBK中文遭遇乱码的解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.$result = explode("|","滕华弢|海青"); 究其原因,对于”弢”字(读tao,不认识没关系,我也不认识),因为他的GBK编码值为: 8f7c,不巧的是,“|”的ASCII值也是7c.

这样的问题,还有很多 : 因为GBK编码的编码范围是: 0×8140-0xfefe,所以,理论上来说,任何低字节是7c的字都会有这个问题,比如:

1.倈(827c),億(837c),眧(b17c),鍇(e57c).......等等等等对于这样的情况,

1.第一,可以采用转码到utf8,然后explode,再转回来,这是比较麻烦的方法.
2.第二,我们可以采用正则拿"匹配出"来代替"分离出":
3.preg_match_all("/([/x81-/xfe][/x40-/xfe])+/",$gbk_str,$matches);//写死编码这样,$matches中0号索引对应的数组就是结果词的数组了..

猜你在找的PHP相关文章