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 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
php cli换行示例
Apr 22 PHP
php防止恶意刷新与刷票的方法
Nov 21 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
php封装的page分页类完整实例
Oct 18 PHP
PHP的消息通信机制测试实例
Nov 10 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 PHP
php将字符串转换为数组实例讲解
May 05 PHP
详解phpstorm2020最新破解方法
Sep 17 PHP
PHP7 新增常量
Mar 09 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
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
关于JavaScript中的关联数组分析
2013/04/09 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
wxPython多个窗口的基本结构
2019/11/19 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
地理教师岗位职责
2014/03/16 职场文书
2014年防汛工作总结
2014/12/08 职场文书
感谢信格式范文
2015/01/22 职场文书
党员个人总结自评
2015/02/14 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
保外就医申请书范文
2015/08/06 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
python实现局部图像放大
2021/11/17 Python