Bonjour
Je rencontre un petit soucis dans la compréhension d'un de mes codes ( )
JavaScript. L'objectif était d'utiliser XMLHttpRequest pour communiquer avec un serveur (bref, ajax quoi). Seulement voila, il y a (encore) un problème d'encodage ou, plutôt, un non-problème, car tout fonctionne trop bien. Je m'explique.
Tous mes fichiers sont encodés en UTF-8.
Ma page html et mon fichier php sont normalement interprétés par le navigateur en UTF-8 (dans les deux cas, j'ai forcé avec la fonction header).
La réponse du serveur est toujours "é", écrit en dur dans le fichier.
Puisque mon fichier php est encodé en UTF-8, "é" écrit en dur dans le code est bien encodé en UTF-8, et la requete HTTP de retour est munie de l'en-tête UTF-8. Si j'affiche la réponse via mon script javascript, j'obtiens "é".
Donc pas de problème d'affichage
Si maintenant je force la page html (celle où il y a le script) à s'afficher en ISO-8859-1, sans rien changer d'autre... et bien l'affichage est toujours "é"... Je ne comprends pas pourquoi je n'ai pas un caractère bizarre qui s'affiche. Ma réponse n'était-elle pas codée en UTF-8 ?
Je ne sais pas si je suis clair
Modifié par justin.dekeyser (24 Mar 2012 - 13:13)
Je rencontre un petit soucis dans la compréhension d'un de mes codes ( )
JavaScript. L'objectif était d'utiliser XMLHttpRequest pour communiquer avec un serveur (bref, ajax quoi). Seulement voila, il y a (encore) un problème d'encodage ou, plutôt, un non-problème, car tout fonctionne trop bien. Je m'explique.
Tous mes fichiers sont encodés en UTF-8.
Ma page html et mon fichier php sont normalement interprétés par le navigateur en UTF-8 (dans les deux cas, j'ai forcé avec la fonction header).
La réponse du serveur est toujours "é", écrit en dur dans le fichier.
Puisque mon fichier php est encodé en UTF-8, "é" écrit en dur dans le code est bien encodé en UTF-8, et la requete HTTP de retour est munie de l'en-tête UTF-8. Si j'affiche la réponse via mon script javascript, j'obtiens "é".
Donc pas de problème d'affichage
Si maintenant je force la page html (celle où il y a le script) à s'afficher en ISO-8859-1, sans rien changer d'autre... et bien l'affichage est toujours "é"... Je ne comprends pas pourquoi je n'ai pas un caractère bizarre qui s'affiche. Ma réponse n'était-elle pas codée en UTF-8 ?
Je ne sais pas si je suis clair
Modifié par justin.dekeyser (24 Mar 2012 - 13:13)