2009-10-21 63 views
2

當我輸出$_SERVER['REQUEST_URI'];

http://localhost/tools/?tool=cs&sub=1 

我得到:

/tools/?tool=cs⊂=1 

是否有其他解決方案,使/tools/?tool=cs&sub=1除了使用&代替&

+0

使用'&'而不是' &*是*解決方案。 – Gumbo 2009-10-21 13:30:06

回答

4

這是因爲你在迴應你的瀏覽器 - &sub被解釋爲一個HTML實體(⊂)。

如果你echo htmlentities($_SERVER['REQUEST_URI']);你會得到你所期望的。

您必須爲您所在的環境使用正確的編碼 - 使用HTML表示使用&

+0

如果你使用UTF-8,我會推薦你​​使用htmlentities($ _ SERVER ['REQUEST_URI'],ENT_QUOTES,「UTF-8」)。 – Alex 2009-10-21 13:55:27

0

你是如何輸出這個值?如果你將它轉儲到瀏覽器,你確定它不是試圖解碼嵌入的&符號嗎?

嘗試只用

<?php phpinfo(); 

文件,並期待看到什麼值顯示爲(接近底部)

1

試試這個

echo urldecode($_SERVER['REQUEST_URI']);