Encodage décodage caractères accentués
Bonjour,
Pour supprimer le codage des espaces, unescape() étant déprécié, il faut désormais utiliser decodeURI() ou decodeURIComponent()
Mais s'il y a des caractères accentués cette nouvelle fonction pose problème.
Je n'ai pas réussi à trouver comment "coder" la fonction replace !
Code:
1 2 3
|
txt = txt.replace("%20"/g," ");
// Ne marche pas |
Si vous pouvez me mettre sur une piste voire autre solution, je suis preneur !
Pour information encodeURIComponent() posant le même problème , j'ai trouvé la solution suivante pour l'opération inverse sur les URL, à savoir encoder les espaces par %20 par lorsque le texte contient des caractéres accentués.
Espérons que cette solution soit pérenne !
Code:
1 2 3 4 5
| // Pour formater un texte contenant des caractères accentués en URL, autrement que par
txt = encodeURIComponent(txt)
// Utilisation de
txt = txt.replace(/ /g,"%20");
// Pour remplacer uniquement les espaces éventuels sans toucher aux caractères accentués |
Bien cordialement