2013-03-25 45 views
0

我在我的PHP腳本中使用了$_SERVER['QUERY_STRING']。我的查詢字符串?e+e工作正常,但?e|e沒有。

我的PHP腳本很簡單:

<?php 
echo $_SERVER['QUERY_STRING']; 
?> 

爲什麼不呢|工作?我似乎能夠使用|,如果我不使用使用$_SERVER['QUERY_STRING']

+0

請解釋「不起作用」。你期望的結果是什麼?你需要什麼? QUERY_STRING被截斷了嗎? – mario 2013-03-25 00:52:20

回答

0

您需要的|符號編碼爲%7C。那麼它會工作。 $_SERVER['QUERY_STRING']會自動解碼它。

0

如果手動添加在您的瀏覽器管道符號那麼這可能發生

嘗試做這樣的:?ê%7Ce

0

這不是正確的QUERY_STRING原因「|」是不允許的符號。 RFC 2396 2.3。

Data must be escaped if it does not have a representation using an 
unreserved character; this includes data that does not correspond to 
a printable character of the US-ASCII coded character set, or that 
corresponds to any US-ASCII character that is disallowed, as 
explained below.