2010-11-16 90 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