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 相关文章推荐
php flush类输出缓冲剖析
Oct 19 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
批量修改RAR文件注释的php代码
Nov 20 PHP
php preg_replace替换实例讲解
Nov 04 PHP
YII路径的用法总结
Jul 09 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
Jan 04 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
linux下php上传文件注意事项
Jun 11 PHP
PHP文件上传处理案例分析
Oct 15 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHP解决高并发问题
Apr 01 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 eval函数用法总结
2012/10/31 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
PHP数组相关函数汇总
2015/03/24 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
jquery事件preventDefault()方法用法实例
2015/01/16 Javascript
js获取url传值的方法
2015/12/18 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
3分钟学会一个Python小技巧
2018/11/23 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
python序列化与数据持久化实例详解
2019/12/20 Python
Python验证码截取识别代码实例
2020/05/16 Python
私营公司诉讼代理委托书范本
2014/09/13 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
具结保证书范本
2015/05/11 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技