Jump to content
Invision Board France

Blog de Fabien

  • entries
    33
  • comments
    68
  • views
    11014

AJAX et les caractères spéciaux

Sign in to follow this  
Fabien

223 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

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.