2010-11-16 18 views
2

La question est assez simple mais me rend fou. Safari en utilisantSAFARI URL encoding

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

L'URL de destination est codé pour http://www.mywebsite.es/?parametersandapipe% 7C

Y at-il un moyen d'empêcher Safari pour encoder les caractères ??

Merci,

Répondre

1

Vous devez coder les chaînes d'URL avant de les utiliser:

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

Pour l'analyse syntaxique après, utilisez:

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

Cela permettra d'assurer que tous les caractères seront " sans échappatoire. "

+0

L'analyser ensuite n'aidera pas, puisque j'ai besoin que l'URL soit affichée sans codage .. cette solution ne fonctionne pas pour moi .. – Matias

+0

Pourquoi l'avez-vous besoin affiché dans la barre d'adresse? Tous les navigateurs encodent des caractères spéciaux, par exemple, tous les espaces sont convertis en '% 20'. –