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开发中的错误收集,不定期更新。
Feb 03 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
PHP实现手机归属地查询API接口实现代码
Aug 27 PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
php导出CSV抽象类实例
Sep 24 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP的微信支付接口使用方法讲解
Mar 08 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
php 常用的系统函数
2017/02/07 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
python实现12306火车票查询器
2017/04/20 Python
python实现简单中文词频统计示例
2017/11/08 Python
pygame实现非图片按钮效果
2019/10/29 Python
深入浅析python的第三方库pandas
2020/02/13 Python
项目总经理岗位职责
2014/02/14 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
二手房买卖协议书
2014/04/10 职场文书
机械专业求职信
2014/05/25 职场文书
英文自荐信范文
2015/03/25 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏