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 相关文章推荐
dedecms模版制作使用方法
Apr 03 PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
PHP常用技巧总结(附函数代码)
Feb 04 PHP
PHP删除数组中空值的方法介绍
Apr 14 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 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
如何使用PHP中的字符串函数
2006/11/24 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
python基于http下载视频或音频
2018/06/20 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
Django发送邮件功能实例详解
2019/09/02 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
Python如何生成xml文件
2020/06/04 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
投资意向书
2014/07/30 职场文书
四风之害观后感
2015/06/09 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
Python学习之时间包使用教程详解
2022/03/21 Python