分割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 变量定义和变量替换的方法
Jul 30 PHP
php ftp文件上传函数(基础版)
Jun 03 PHP
处理单名多值表单的详解
Jun 08 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
Yii框架引入coreseek分页功能示例
Feb 08 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 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实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP基本语法实例总结
2016/09/09 PHP
PHP大文件切割上传并带进度条功能示例
2019/07/01 PHP
jquery异步请求实例代码
2011/06/21 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
JavaScript基础心法 数据类型
2018/03/05 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
Python如何用filter函数筛选数据
2020/03/05 Python
如何在sublime编辑器中安装python
2020/05/20 Python
Python如何实现定时器功能
2020/05/28 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
python switch 实现多分支选择功能
2020/12/21 Python
GWebs公司笔试题
2012/05/04 面试题
公司财务自我评价分享
2013/12/17 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
优秀班组申报材料
2014/12/25 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
白银帝国观后感
2015/06/17 职场文书
活动宣传稿范文
2015/07/23 职场文书
话题作文之呼唤
2019/12/18 职场文书