我的项目Url在yii中是这样的:
http://localhost/php_pro_106/activate/Test?JJ=HEY+OOO
在我的行动中:
public function actionTest()
{
print_r($_GET);
}
我得到了:
Array ( [JJ] => HEY OOO )
但我应该得到:
Array ( [JJ] => HEY+OOO )
我应该为此做些什么,我需要相同的网址?
答案 0 :(得分:2)
网址中的+
表示空格。所以你得到了你应该得到的结果。
如果您想对网址中的+
字符进行编码,则应将其表示为%2B
。
http://localhost/php_pro_106/activate/Test?JJ=HEY%2BOOO
如果使用PHP以编程方式生成URL,则可以使用urlencode
函数。
$keyname = "JJ";
$data = "HEY+OOO";
$url = "http://localhost/php_pro_106/activate/Test?" . urlencode($keyname) . "=" . urlencode($data);
答案 1 :(得分:0)
您需要对您的网址进行编码(例如,在php中使用urlencode
)。 +
需要成为%2B
。
http://localhost/php_pro_106/activate/Test?JJ=HEY%2BOOO
答案 2 :(得分:0)
“+”是保留字符之一。
如果您希望在示例中使用“+”,则应使用网址编码。
http://localhost/php_pro_106/activate/Test?JJ=HEY%2BOOO
如果您从代码生成URL,请使用urlencode()函数生成您的URL。