PHP GET参数特殊符号有啥规律?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP GET参数特殊符号有啥规律?相关的知识,希望对你有一定的参考价值。
比如说2019-02-10 16:46:36提交后就变成了2019-02-10+16%3A46%3A36这是如何变的,如何找到规律?
这是URI(Uniform Resource Identifier)编码 如果URL中有汉字,就必须编码后使用
例如,":"字符用十六进制来表示为3A,所以必须使用%3A来表示,"/"字符用十六进制来表示为2F,所以必须使用%2F来表示"/"字符。
一般空格是转换为加号 汉字以及特殊字符都要根据16进制的内容再在前门加一个%进行转换
而这里面分为不同的编码规则 有GBK、UTF8 所以在编码的时候要进行设置
下面是一个java获取字符串编码的例子
//百分比编码:获取某个字符的URL编码,编码是用URLEncoder.encode(),解码是用URLDecoder.decode()函数String text;
try
text = URLEncoder.encode("http://baidu.com", "iso-8859-1");
System.out.println(text);
catch (UnsupportedEncodingException e)
e.printStackTrace();
参考技术A 这是url被自动转码了,用url_decode()函数转回来就可以了
get请求时特殊符号处理
使用get方式时参数中不能有特殊字符,如:,空格,%,#,&,=等等; 解决办法:用URL转义符替换。 下面列出如下: + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 / 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊字符 %25 # 表示书签 %23 & URL 中指定的参数间的分隔符 %26 = URL 中指定参数的值 %3D
以上是关于PHP GET参数特殊符号有啥规律?的主要内容,如果未能解决你的问题,请参考以下文章