分割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 相关文章推荐
粗略计算在线时间,bug:ip相同
Dec 09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Jan 27 PHP
php学习之变量的使用
May 29 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
Symfony查询方法实例小结
Jun 28 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
图片之间的切换
2006/06/26 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python自动化测试实例解析
2014/09/28 Python
python django事务transaction源码分析详解
2017/03/17 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
小学阳光体育活动总结
2014/07/05 职场文书
创先争优活动心得体会
2014/09/04 职场文书
领导班子对照检查材料
2014/09/22 职场文书
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python