[JS=>PHP] encodeURIComponent (raw)urlencode

Résolu
deterralba Messages postés 33 Statut Membre -  
 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

2 réponses

  1. imw Messages postés 233 Statut Membre 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
    1. deterralba Messages postés 33 Statut Membre 16
       
      Ok merci beaucoup !
      0
  2. 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