Jump to content
Invision Board France

Blog de Fabien

  • entries
    33
  • comments
    68
  • views
    10939

AJAX et les caractères spéciaux

Sign in to follow this  
Fabien

216 views

C'est l'un des plus gros problèmes d'AJAX, les caractères spéciaux. Si votre requête n'utilise pas le même encodage que votre page, tous les caractères spéciaux deviennent des points d'interrogation.

 

J'avais déjà passé pas mal de temps sur ce problème mais hier soir alors que je mettais ma bdd à jour (pour être compatible avec la nouvelle version de FabCMS), je me suis aperçu que certains caractères avaient été remplacés par le fameux point d'interrogation...

 

Ce matin, après plusieurs heures de recherches, je suis arrivé à la source du problème. Pour convertir les caractères en UTF-8 (le jeu par défaut de l'objet XMLHttpRequest) j'utilise la fonction php utf8_decode. Or cette fonction ne décode pas tous les caractères mais uniquement ceux qui sont dans le jeu de caractères ISO-8859-1...

 

Au finale, j'ai trouvé 21 caractères ASCII qui n'étaient pas convertis (dont notamment Œ, œ, ‰, € et ™). Pour corriger ça, j'ai simplement faire un str_replace en attendant de pouvoir vraiment regarder de plus près les modules php mbstring et iconv.

Sign in to follow this  


3 Comments


Recommended Comments

Peut-être dans l'ISO 10646 et/ou 8879.

 

Ma page utilise l'ISO 8859-1 donc si je comprends bien, ces 21 caractères ne devraient pas s'afficher ?

Share this comment


Link to comment

Si on respectait les choses à la lettre, les caractères non-ASCII ne faisant pas partie du jeu de caractère utilisé ne devraient pas être utilisés théoriquement. Maintenant il y a quand même une bonne marge, on peut bien inclure le symbole € alors qu'il ne fait pas partie de l'ISO-8859-1...

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.