Encodage pour envoi par POST
Bonjour,
pour transmettre du texte par POST, j'ai besoin de remplacer les caractères "&" et "=" par d'autres qui ne viendront par mettre le bazar.
pour cela j'ai fait une fonction assez simple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| var text = AjaxFormat("fs¤df& &cfss=gvf"); // exemple de texte
console.log(text);
return;
function AjaxFormat(str, codage) {
if (codage == 'decode') {
newstr = Remplace(str,'¤3','=');
newstr = Remplace(str,'¤2','&');
newstr = Remplace(str,'¤1','¤');
} else {
newstr = Remplace(str,'¤','¤1');
newstr = Remplace(str,"&",'¤2');
newstr = Remplace(str,'=','¤3');
}
return(newstr);
}
function Remplace(str,find,rep){
var reg = new RegExp(find,"g");
return(str.replace(reg,rep));
} |
Je l'ai fait il y a quelque temps, je pensais l'avoir testé et que ça fonctionnais.
Là je viens de me rendre compte que ça ne marche pas ou plus.
Le caractère "=" est bien transformé mais les 2 autres non.
Mon fichier .js est en utf8.
Je pense que ça viens de là mais je ne trouve pas de solution pour faire ce remplacement.
A l'aide!!