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编码

#   用来标志特定的文档位置   %23

%  对特殊字符进行编码         %25

&   分隔不同的变量值对         %26

+    在变量值中表示空格       %2B

/     表示目录路径               %2F

/     表示目录路径              %5C

=    用来连接键和值           %3D

?     表示查询字符串的开始   %3F

空格  空格                       %20

.       句号                       %2E

:       冒号                         %3A

300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00345 秒