[JS=>PHP] encodeURIComponent (raw)urlencode

Résolu/Fermé
deterralba Messages postés 29 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 17 juin 2010 - 16 août 2009 à 13:57
 lemoineo - 24 janv. 2010 à 11:38
Bonjour,

Etant lancé dans un projet de traduction d'un code Javascript vert Php, je voudrais savoir si la fonction correspondant à encodeURIComponent en JS est urlencode ou rawurlencode.
Merci de citer vos sources...

Deterralba
A voir également:

2 réponses

imw Messages postés 233 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 8 septembre 2011 42
16 août 2009 à 17:09
A priori, il faut utiliser rawurlencode.
La différence tient surtout au caractère espace :
urlencode => +
rawurlencode => %20

la fonction JS transforme l'esapce en %20

http://fr3.php.net/manual/fr/function.urlencode.php
http://fr3.php.net/manual/fr/function.rawurlencode.php
https://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
1
deterralba Messages postés 29 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 17 juin 2010 16
16 août 2009 à 22:58
Ok merci beaucoup !
0
Le sujet est plus délicat que ce que déclare imw .... je crois

Pour ma part, j'utilise Javascript pour reprendre les données saisies dans un formulaire PHP
et les traduire en url afin d'effectuer selon le bouton choisi, soit une recherche soit une insertion (ou une maj) , il me faut utiliser alors la fonction encodeURIComponent .
Et cela n'est pas complètement satisfaisant, les caractères (' ou ") ne sont pas traduit (en %27 et %22) et je dois effectuer dans ma fonction javascript une conversion spécifique (replace)

Ensuite, pour l'interprétation de cette URL, je la décode avec utf8_encode ...
puis avec
rawurlencode pour stocker les données dans une table MYSQL en ISO-8859-19
ouf !
En fait, il faut bien différentier la codification utilisée dans chaque couche logicielle ...
0