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面向对象编程快速入门
Oct 09 PHP
网站当前的在线人数
Oct 09 PHP
php学习 字符串课件
Jun 15 PHP
php读取msn上的用户信息类
Dec 05 PHP
php 获取全局变量的代码
Apr 21 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
PHP查询分页的实现代码
Jun 09 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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将向Java靠拢
2006/10/09 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
2014/10/17 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
深入解析Python中的lambda表达式的用法
2015/08/28 Python
Python中import机制详解
2017/11/14 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
详解django2中关于时间处理策略
2019/03/06 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
亲子拓展活动方案
2014/02/20 职场文书
工作决心书范文
2014/03/11 职场文书
委托书范本
2014/09/13 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
欢迎新生标语2015
2015/07/16 职场文书
idea下配置tomcat避坑详解
2022/04/12 Servers