Mercredi 21 décembre 2005

JavaScript alert et accents

Dans certains cas, un accent saisi dans le code source javascript ne sera pas affiché correctement, mais remplacé par un point d’interrogation.

UTF-8 ou non ?

Une solution serait de mettre toutes les chaînes en UTF-8, mais cela pose un problème pour une application web telle que SPIP où l’utilisateur peut choisir l’encodage des pages.

Il faut donc trouver une solution universelle, quel que soit l’encodage de la page de destination.

Encodage octal des caractères

J’ai trouvé la solution à ce problème sur le site Clagnut : Accents in alerts.

Il suffit de remplacer les caractères accentués par leur équivalent en octal précédé de \ (anti-slash)

Par exemple :

  • é : \351
  • è : \350
  • ê : \352
  • à : \340

La table complète d’équivalence caractère/octal

Une piste à explorer

Un commentaire de la page semble indiquer que :

var y=document.createElement('span');
y.innerHTML='Ménage à trois.';
alert(y.innerHTML);

Permet de faire la conversion automatiquement.

Personnellement, j’ai un doute. Et vous ?

Vos réactions

  • marc 24 octobre 2014 18:19

    merci pour la solution…

  • Didier 25 septembre 2014 20:16

    J’avais perdu l’astuce, merci de nous rendre la mémoire.

  • 15 août 2014 10:29

    MERCI POUR L’ASTUCE

  • Marcoboulo 30 juin 2014 17:37

    Merci Saryan, c’est encore plus facile comme ça !

  • Saryan 21 mai 2014 14:32

    Il suffit de convertir votre fichier en « UTF-8 sans BOM » dans un éditeur comme « notepad++ » et tout ira comme il faut

  • René 9 janvier 2014 20:20

    Très cher Jacques, j’avais un problème d’accent dans une bulle. Tu m’as sauvé ! Merci beaucoup. Bonjour à la famille. René

  • 7 décembre 2011 21:51

    Très bonne solution Merci ;)

  • 20 juin 2011 17:25

    merci :-)):-)) !

  • 29 octobre 2010 17:09

    ;-) MERCI B-)

  • oussama26 13 juillet 2010 12:33

    merci beaucoup pour votre aide…. :-):-):-):-)

  • 22 mars 2010 11:12

    Merci beaucoup,

    J’étais confronté à ce problème depuis un petit moment, sans avoir les moyens de le résoudre. Désormais c’est fait !!!

  • 4 octobre 2009 22:20

    Merci beaucoup pour l’astuce ! :D

    Cela faisait un moment que je me torturais l’esprit pour afficher correctement mes accents ;)

    Nico.

  • 29 juillet 2009 14:43

    Excellent !

  • 31 mars 2009 00:03

    Merci, pile ce qu’il me fallait !!!!

  • 30 octobre 2008 13:53

    Merci pour le tuyau, c’est cool …

  • 30 janvier 2008 14:17

    Les prototypes peuvent aussi apporter une solution : http://www.gaudry.be/ast-rf-433.html

  • 3 mai 2007 10:48

    Le dernier exemple « piste à explorer » fonctionne nickel. Merci.

  • 20 décembre 2006 13:46

    Excellent votre astuce. ça marche et c’est tout simple. meli 20/12/2006

  • 20 mars 2006 09:05

    Bonjour,

    Après avoir bataillé ferme pour trouver une solution à l’envoi de caractères accentués par un confirm.

    J’ai tout converti en UTF-8, fichiers sources, tags meta du html, header en php.

    J’utilise l’éditeur PSPad qui écrit directement en Unicode.

    A+

    Roger