分割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 HtmlReplace输入过滤安全函数
Jul 03 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
PHP调用JAVA的WebService简单实例
Mar 11 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
Yii2汉字转拼音类的实例代码
Apr 18 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
用php定义一个数组最简单的方法
Oct 04 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
Oct 09 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中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
简单实现php上传文件功能
2017/09/21 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
Javascript Select操作大集合
2009/05/26 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
python写入并获取剪切板内容的实例
2018/05/31 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
国贸专业毕业求职信
2014/06/11 职场文书
小学亲子活动总结
2014/07/01 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
认错检讨书
2014/10/02 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
消防隐患整改通知书
2015/04/22 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书