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


Posted in PHP onAugust 09, 2013

类似如下的字符串(GBK), explode不能得到正确结果:

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 相关文章推荐
PHP 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
php分页示例分享
Apr 30 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
php简单分页类实现方法
Feb 26 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
PHP下载远程图片的几种方法总结
Apr 07 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
解析isset与is_null的区别
Aug 09 #PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 #PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 #PHP
浅析php变量作用域的一些问题
Aug 08 #PHP
解析php开发中的中文编码问题
Aug 08 #PHP
php中jpgraph类库的使用介绍
Aug 08 #PHP
浅析php与数据库代码开发规范
Aug 08 #PHP
You might like
简化php模板页面中分页代码的解析
2009/02/06 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
php提取微信账单的有效信息
2018/10/01 PHP
浅谈php调用python文件
2019/03/29 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
自己动手封装一个React Native多级联动
2018/09/19 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
Python玩转加密的技巧【推荐】
2019/05/13 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
高一军训决心书
2015/02/05 职场文书
大学生党课心得体会
2016/01/07 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书