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 和 MYSQL
Oct 09 PHP
用PHP产生动态的影像图
Oct 09 PHP
php 更新数据库中断的解决方法
Jun 05 PHP
php启用sphinx全文搜索的实现方法
Dec 24 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
PHP+shell实现多线程的方法
Jul 01 PHP
Joomla调用系统自带编辑器的实现方法
May 05 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
php实现数据库的增删改查
Feb 26 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
Aug 26 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
jQuery:unbind方法的使用详解
2017/08/14 jQuery
详解JS模块导入导出
2017/12/20 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python剪切视频与合并视频的实现
2020/03/03 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
应届生体育教师自荐信
2013/10/03 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书