PHP问题与$\u GET

PHP问题与$\u GET,php,get,Php,Get,我对$\u GETvar有一个非常奇怪的问题 这是我的代码: if(isset($_GET['offer'])) { $params = array(); $params['wifi'] = "%wifi%"; $params['publisher'] = "%pubid%"; $params['framework'] = "%framework%"; $params['date'] = "%cachebuster%"; foreach($par

我对
$\u GET
var有一个非常奇怪的问题

这是我的代码:

if(isset($_GET['offer'])) {
    $params = array();
    $params['wifi'] = "%wifi%";
    $params['publisher'] = "%pubid%";
    $params['framework'] = "%framework%";
    $params['date'] = "%cachebuster%";

    foreach($params as $key=>$param){

    $array[$_GET[$key]] = $_GET[$key];

    }

    print_r($array);
}
这是我要发送的URL:

这是我得到的奇怪的输出:

Array ( [%wifi%] => %wifi% [%pubid%] => %pubid% [%framework%] => %framework% [Êchebuster%] => Êchebuster% )

为什么
%cachebuster%
会变成
Êchebuster%

URL中的百分号转义特殊字符。url似乎被解释为,并且在该字符集中,
ca
Ê
的代码

您应该将url更改为正确转义为
%25


URL中的百分号转义特殊字符。url似乎被解释为,并且在该字符集中,
ca
Ê
的代码

您应该将url更改为正确转义为
%25


因为
%ca
是Ê(0xCA)的url编码形式

%
应编码为
%25


有趣的是,
%wifi%
工作正常。。。我希望它会返回
400个错误请求
,因为
%ca
是Ê(0xCA)的url编码形式

%
应编码为
%25

有趣的是,
%wifi%
工作正常。。。我希望它会返回
400个错误请求
,因此…

在处理“%”字符时,我们应该使用php函数

//should be used for encoding URL
urlencode()
//should be used for decoding URL
urldecode()
在以下链接中签出php文档: 在处理“%”字符时,我们应该使用php函数

//should be used for encoding URL
urlencode()
//should be used for decoding URL
urldecode()
在以下链接中签出php文档: