[JS=>PHP] encodeURIComponent (raw)urlencode

Résolu
deterralba Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
 lemoineo -
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   Statut Membre Dernière intervention   42
 
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   Statut Membre Dernière intervention   16
 
Ok merci beaucoup !
0
lemoineo
 
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