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中目录,文件操作详谈
Mar 19 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
使用array mutisort 实现按某字段对数据排序
Jun 18 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
smarty表格换行实例
Dec 15 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
php简单统计在线人数的方法
May 10 PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
May 15 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
PHP获取访问设备信息的方法示例
Feb 20 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
python 利用zmail库发送邮件
2020/09/11 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
蛋糕店创业计划书范文
2014/09/21 职场文书
工作保证书
2015/01/17 职场文书
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS