PHP rawurlencode与urlencode函数的深入分析


Posted in PHP onJune 08, 2013

问题:2个函数都是针对字符串转义使其适合做文件名。该用哪个?哪个更标准?

结论:
rawurlencode遵守是94年国际标准备忘录RFC 1738,
urlencode实现的是传统做法,和上者的主要区别是对空格的转义是'+'而不是'%20'
javascript的encodeURL也是94年标准,

而javascript的escape是另一种用"%xxx"标记unicode编码的方法。

推荐在PHP中使用用rawurlencode。弃用urlencode

样例
source:

超级无敌的人sadha sajdh数据样本sdls fhejrthcxzb.file.jpeg

PHP urlencode:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha+sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls+fhejrthcxzb.file.jpeg

PHP rawurlencode:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg

Javascript encodeURI:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg

Javascript escape:
%u8D85%u7EA7%u65E0%u654C%u7684%u4EBAsadha%20sajdh%u6570%u636E%u6837%u672Csdls%20fhejrthcxzb.file.jpeg

PHP 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php实现rc4加密算法代码
Apr 25 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 PHP
PHP目录操作实例总结
Sep 27 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
php反射学习之依赖注入示例
Jun 14 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 PHP
php中yii框架实例用法
Dec 22 PHP
PHP跳转页面的几种实现方法详解
Jun 08 #PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 #PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 #PHP
php引用返回与取消引用的详解
Jun 08 #PHP
PHP stripos()函数及注意事项的分析
Jun 08 #PHP
php自动加载机制的深入分析
Jun 08 #PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 #PHP
You might like
使用PHP制作新闻系统的思路
2006/10/09 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
token 机制和实现方式
2020/12/15 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
使用Python的PIL模块来进行图片对比
2016/02/18 Python
python简单实现操作Mysql数据库
2018/01/29 Python
对pandas中apply函数的用法详解
2018/04/10 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
办理信用卡工作证明
2014/01/11 职场文书
小学生植树节活动总结
2014/07/04 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
安装工程师岗位职责
2015/02/13 职场文书
老公婚前保证书
2015/02/28 职场文书
2015年电教工作总结
2015/05/26 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
毕业赠语大全
2015/06/23 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android