2010-11-16 79 views
2

這個問題很簡單,但讓我發瘋。使用Safari 5+SAFARI URL編碼

<? 
header('Content-Type:text/html; charset=UTF-8'); 
header('Location: http://www.mywebsite.es/?parametersandapipe|'); 
?> 

目標URL編碼爲http://www.mywebsite.es/?parametersandapipe%7C

有沒有辦法阻止Safari瀏覽器進行編碼的字符?

感謝,

回答

1

你應該使用它們之前編碼的URL字符串:

header('Location: ' . urlencode("http://www.mywebsite.es/?parametersandapipe|")); 

爲了以後分析它,使用:

$query_string = urldecode($_SERVER['QUERY_STRING']); 

這將確保所有的角色會是「轉義「。

+0

解析它後,將無濟於事,因爲我需要的URL顯示沒有編碼..這種解決方案不適合我.. – Matias 2010-11-16 17:02:16

+0

爲什麼你需要它顯示在地址欄?所有瀏覽器都對特殊字符進行編碼,例如,所有空格都轉換爲「%20」。 – 2010-11-16 17:05:25