Problème avec urlencode
Posté : 31 juil. 2007, 15:14
Salut tout le monde, je poste ici à cause d'un petit problème de compatibilité entre PHP et Javascript.
Comme chacun sait, les navigateur performants envoient automatiquement leur URL encodées
http://domain.com/éà devient http://domain.com/%C3%A9%C3%A0
Le problème vient de l'encodage des espaces :
Mettons que je veuille encoder :
http://domain.com/1 2
PHP, qui passe donc automatiquement les URL à urldecode() me renvoi http://domain.com/1+2
On conviendra qu'il change " " en "+", d'ou mon problème : si je veux faire passer "?1+2" pas de problème mais si je veut faire passer "1 2" (grace à un script JS automatiser) l'espace disparait, ma chaine est modifiée!
Donc j'ai 2 question :
Y a t-il un moyen de désactiver urldecode automatique des url par php?
Et est-ce normal qu'il change les espaces en "+" alors que la fonction similaire de JS escape() renvoi bien "%20" ?
Merci de m'aider à me sortir de ce bordel
Comme chacun sait, les navigateur performants envoient automatiquement leur URL encodées
http://domain.com/éà devient http://domain.com/%C3%A9%C3%A0
Le problème vient de l'encodage des espaces :
Mettons que je veuille encoder :
http://domain.com/1 2
PHP, qui passe donc automatiquement les URL à urldecode() me renvoi http://domain.com/1+2
On conviendra qu'il change " " en "+", d'ou mon problème : si je veux faire passer "?1+2" pas de problème mais si je veut faire passer "1 2" (grace à un script JS automatiser) l'espace disparait, ma chaine est modifiée!
Donc j'ai 2 question :
Y a t-il un moyen de désactiver urldecode automatique des url par php?
Et est-ce normal qu'il change les espaces en "+" alors que la fonction similaire de JS escape() renvoi bien "%20" ?
Merci de m'aider à me sortir de ce bordel