Salut,
Avec un script moteur en js et un autre en json (lequel me sert de base de données - l'hébergeur n'ayant pas ouvert de bdd avec mysql).
Jusqu'à présent, j'attachais les scripts directement avec la page HTML mais le script json commençant à prendre du poids, j'appelle le script avec une requête http.
Lorsque les fichiers étaient directement attachés à la page HTML, l'affichage sortait correctement pour les signes accentués même si dans le fichier brut ils étaient écrits avec les accents sans passer par un encodage pour ces caractères.
Depuis que j'ai transformé le script et lance une requête http, la sortie des caractères accentués se transforme en un joli point d'interrogation sous ff. [Ces résultats sont obtenus sur un serveur local, ie : mon pc]
J'ai consulté plusieurs pages de ce forum, modifié les entêtes pour la réponse en précisant le charset (utf-8, iso-88-59...) avec le caractère test suivant :
Rien n'y fait toujours l'affichage brut avec les caractères non traduits. La seule solution trouvée est de passer par l'unicode :
Et la sortie devient effectivement un "ç".
Mes questions :
-Lorsque les scripts sont directement attachés à la page HTML, pourquoi la sortie est-elle bonne (en admettant que le non encodage des caractères accentués soit suffisant) ?
-Lorsque, pour les mêmes scripts, on lance une requête http, la sortie n'est plus la même : qu'est-ce qu'il manque entre les deux ? C'est ce point que je n'arrive pas à résoudre ni à comprendre ?
-Pour ce cas précis, seul l'unicode est à envisager ?
Modifié par jean-marc (30 May 2007 - 15:34)
Avec un script moteur en js et un autre en json (lequel me sert de base de données - l'hébergeur n'ayant pas ouvert de bdd avec mysql).
Jusqu'à présent, j'attachais les scripts directement avec la page HTML mais le script json commençant à prendre du poids, j'appelle le script avec une requête http.
Lorsque les fichiers étaient directement attachés à la page HTML, l'affichage sortait correctement pour les signes accentués même si dans le fichier brut ils étaient écrits avec les accents sans passer par un encodage pour ces caractères.
Depuis que j'ai transformé le script et lance une requête http, la sortie des caractères accentués se transforme en un joli point d'interrogation sous ff. [Ces résultats sont obtenus sur un serveur local, ie : mon pc]
J'ai consulté plusieurs pages de ce forum, modifié les entêtes pour la réponse en précisant le charset (utf-8, iso-88-59...) avec le caractère test suivant :
é é é
Rien n'y fait toujours l'affichage brut avec les caractères non traduits. La seule solution trouvée est de passer par l'unicode :
ç --> \u00e7
Et la sortie devient effectivement un "ç".
Mes questions :
-Lorsque les scripts sont directement attachés à la page HTML, pourquoi la sortie est-elle bonne (en admettant que le non encodage des caractères accentués soit suffisant) ?
-Lorsque, pour les mêmes scripts, on lance une requête http, la sortie n'est plus la même : qu'est-ce qu'il manque entre les deux ? C'est ce point que je n'arrive pas à résoudre ni à comprendre ?
-Pour ce cas précis, seul l'unicode est à envisager ?
Modifié par jean-marc (30 May 2007 - 15:34)