url参数特殊值的问题
今天处理了一起特殊url的问题,url中其中一个参数为:time_zone=Etc/GMT+8,于是接收时,直接用$_GET['time_zone'],奇怪,老是产生错误日志,郁闷。而且错误日志里记录的都是Etc/GMT 8,怎么成空格了。后来想了下,应该是url没有编码造成接收不到某些特殊值。
由于是手机应用程序来请求的,所以要么我处理,要么手机那边来处理,但已经上线,手机处理的可能性比较小喽。辛苦我老人家了。
整理一下url中的特殊值:
+
time_zone=Etc/GMT+8
%
一个页面需要向另一个页面传递日期格式为"%2011-06-03%"(不包括引号)的参数,结果页面接收不到%。
#
AJAX中url(var url = "AddAd.ashx?act=add_style&adform= #ff0000")中传递像颜色参数带有“#”时(如#FF0000),经常会遇到接收页面收不到“#”
其实最简单的方法是:传的时候对值进行编码,就不会产生这种问题了。
特殊字符的含义
由于是手机应用程序来请求的,所以要么我处理,要么手机那边来处理,但已经上线,手机处理的可能性比较小喽。辛苦我老人家了。
整理一下url中的特殊值:
+
time_zone=Etc/GMT+8
%
一个页面需要向另一个页面传递日期格式为"%2011-06-03%"(不包括引号)的参数,结果页面接收不到%。
#
AJAX中url(var url = "AddAd.ashx?act=add_style&adform= #ff0000")中传递像颜色参数带有“#”时(如#FF0000),经常会遇到接收页面收不到“#”
其实最简单的方法是:传的时候对值进行编码,就不会产生这种问题了。
特殊字符的含义
URL编码
# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
/ 表示目录路径 %2F
/ 表示目录路径 %5C
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F
空格 空格 %20
. 句号 %2E
: 冒号 %3A
- 没有相关文章
- 没有评论