分割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实现小型站点广告管理
Oct 09 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
php取得字符串首字母的方法
Mar 25 PHP
php使用cookie实现记住登录状态
Apr 27 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
php+ajax登录跳转登录实现思路
Jul 31 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
详解php中 === 的使用
Oct 24 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
PHP实现获取文件mime类型多种方法解析
May 28 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
为数据添加append,remove功能
2006/10/03 Javascript
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
Python3基础之条件与循环控制实例解析
2014/08/13 Python
python中pycurl库的用法实例
2014/09/30 Python
python 统计代码行数简单实例
2017/05/04 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
python psutil库安装教程
2018/03/19 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
python3跳出一个循环的实例操作
2020/08/18 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
营销总经理的岗位职责
2013/12/15 职场文书
活动总结报告怎么写
2014/07/03 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
Python如何使用循环结构和分支结构
2022/04/13 Python
使用Django框架创建项目
2022/06/10 Python