PHP 中文处理技巧


Posted in PHP onApril 25, 2010

折腾了一天的时间,才弄出点眉目来。
做AJAX应用或Flash应用,提交中文内容到后台,涉及到编码解码(encode、decode)及编码格式的转换。
网上的PHP端escape unescape函数建议不要用,它把中英文混合时的英文过滤掉了,我是莫名其妙了N久啊,建议用unicode_urldecode这个。
再就是编码格式的转换,这主要涉及数据的存储和客户端返回,用iconv就搞定,这个函数似乎是从C++中借鉴来的。

function unicode_urldecode($url) 
{ 
preg_match_all('/%u([[:alnum:]]{4})/', $url, $a); 
foreach ($a[1] as $uniord) 
{ 
$dec = hexdec($uniord); 
$utf = ''; 
if ($dec < 128) 
{ 
$utf = chr($dec); 
} 
else if ($dec < 2048) 
{ 
$utf = chr(192 + (($dec - ($dec % 64)) / 64)); 
$utf .= chr(128 + ($dec % 64)); 
} 
else 
{ 
$utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); 
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); 
$utf .= chr(128 + ($dec % 64)); 
} 
$url = str_replace('%u'.$uniord, $utf, $url); 
} 
return urldecode($url); 
}
PHP 相关文章推荐
一个简洁的多级别论坛
Oct 09 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 PHP
php网页版聊天软件实现代码
Aug 12 PHP
PHP反射API示例分享
Oct 08 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 #PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 #PHP
PHP CURL模拟GET及POST函数代码
Apr 25 #PHP
php file_get_contents函数轻松采集html数据
Apr 22 #PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 #PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
Apr 22 #PHP
php allow_url_include的应用和解释
Apr 22 #PHP
You might like
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
js Dialog 实践分享
2012/10/22 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
前端性能优化及技巧
2016/05/06 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
Python使用Supervisor来管理进程的方法
2015/05/28 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
经济类毕业生求职信
2014/06/26 职场文书
优秀高中学生评语
2014/12/30 职场文书
西湖英语导游词
2015/02/06 职场文书
职工宿舍管理制度
2015/08/05 职场文书
婚礼迎宾词大全
2015/08/10 职场文书