Aller au contenu
Invision Board France

Blog de Fabien

  • billets
    33
  • commentaires
    68
  • vues
    12 010

AJAX et les caractères spéciaux


Fabien

521 vues

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.

3 Commentaires


Commentaires recommandés

  • Administration

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...

Lien vers le commentaire
Invité
Ajouter un commentaire…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.