url decode problem 解决方法


Posted in PHP onDecember 26, 2011

试验了一下python的urllib库以及js 的 encodeURIComponent 均不会替换。空格encode也是替换成了 '%20' 。python提供了urllib.quote_plus, urlib.unquote_plus来处理空格->加号,看起来还是比较合理的。

查了一下 RFC 3986: 有下面一段

Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-").
RFC 2396 有下面的一段

The plus "+", dollar "$", and comma "," characters have been added to those in the "reserved" set, since they are treated as reserved within the query component.
表示加号已经是url的保留字了,不需要转义。

然后html4文档里才有关于加号的转义:

application/x-www-form-urlencoded
Forms submitted with this content type must be encoded as follows:
Control names and values are escaped. Space characters are replaced by`+', and then reserved characters.....
声明只有content-type为application/x-www-form-urlencoded时才会对+做转义。

又翻了下php的文档,发现有一个

rawurlencode() - URL-encode according to RFC 3986

也就是php又搞了rawurlencode和rawurldecode把标准实现了。。。。

不能反一下么,毕竟大部分人应该都会用urlencode。php真是蛋疼啊。。。。

PHP 相关文章推荐
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
php中url函数介绍及使用示例
Feb 13 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
May 02 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 #PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 #PHP
php操作JSON格式数据的实现代码
Dec 24 #PHP
php文件怎么打开 如何执行php文件
Dec 21 #PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 #PHP
php自动注册登录验证机制实现代码
Dec 20 #PHP
php4与php5的区别小结(配置异同)
Dec 20 #PHP
You might like
jquery动画1.加载指示器
2012/08/24 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
vue中使用protobuf的过程记录
2018/10/26 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中的装饰器详解
2015/04/13 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
Python解析json代码实例解析
2019/11/25 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
校园新闻广播稿
2014/01/10 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
公司市场部岗位职责
2015/04/15 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS