Bonjour, j'ai un gros soucis avec un de mes sites.
Avant de me mettre à Ajax, tout allais bien. les visiteurs postaient leur information que je stockais sans me soucier dans une base de données access.
Mais depuis quelque temps, je suis entrain de faire des upgrades vers une site apportant aux utilisateurs de meilleures interfaces et j'ai donc commencer à faire des améliorations en AJAX. Et là, , rien ne va plus
, j'ai mal fou à me dépêtrer des problèmes d'encodage.
Au départ toute mes pages avait un header qui les déclarait comme étant en iso-8859-1, mais rapidement, j'ai commencer à voir apparaître des caractères mal encodés. Après quelques recherche, j'ai procédé aux opérations suivantes :
1) j'ai déclaré toute mes pages comme étant utf-8 (via une balise meta)
2) J'ai utilisé une fonction javascript (url.encode) pour convertir les données en utf-8 avant de les envoyer vers le serveur
3) j'ai crée une fonction (utfHtmlEncode) pour encoder toutes mes données au format html avant de les stocker dans la base
En localhost, tout semblait fonctionner sans problème, mais une fois sur la toile, c'est n'importe quoi, j'ai toujours des soucis. parfois, la fonction de conversion marche parfois elle marche, parfois, elle ne marche pas. Or normalement mon site est simplement en français donc théoriquement, je n'ai pas besoin d'utf, iso-8859-1 devrait suffire.
J'ai donc fait machine arrière :
1) au niveau de mon serveur j'ai déclaré le content-type comme étant iso-8859-1
2) au niveau de mes pages, j'ai supprimé toute déclaration d'encodage, celle du serveur devant suffire
3) j'ai supprimé tout encodage vers UTF pour me contenter de la fonction javascript escape()
Mais malgré tout j'ai encore des soucis, par exemple, le tiret précédé un espace est convertit en "â-" (les quote c'est pour circonstrire.) je vois aussi que l'apostrophe est convertir en â€tm (trade mark en anglais) et ainsi de suite.
C'est l'enfer.
Bref, je ne sais plus quoi faire et j'ai besoin de vos lumières si quelqu'un à une idée, je suis preneur.
Avant de me mettre à Ajax, tout allais bien. les visiteurs postaient leur information que je stockais sans me soucier dans une base de données access.
Mais depuis quelque temps, je suis entrain de faire des upgrades vers une site apportant aux utilisateurs de meilleures interfaces et j'ai donc commencer à faire des améliorations en AJAX. Et là, , rien ne va plus
, j'ai mal fou à me dépêtrer des problèmes d'encodage.
Au départ toute mes pages avait un header qui les déclarait comme étant en iso-8859-1, mais rapidement, j'ai commencer à voir apparaître des caractères mal encodés. Après quelques recherche, j'ai procédé aux opérations suivantes :
1) j'ai déclaré toute mes pages comme étant utf-8 (via une balise meta)
2) J'ai utilisé une fonction javascript (url.encode) pour convertir les données en utf-8 avant de les envoyer vers le serveur
3) j'ai crée une fonction (utfHtmlEncode) pour encoder toutes mes données au format html avant de les stocker dans la base
En localhost, tout semblait fonctionner sans problème, mais une fois sur la toile, c'est n'importe quoi, j'ai toujours des soucis. parfois, la fonction de conversion marche parfois elle marche, parfois, elle ne marche pas. Or normalement mon site est simplement en français donc théoriquement, je n'ai pas besoin d'utf, iso-8859-1 devrait suffire.
J'ai donc fait machine arrière :
1) au niveau de mon serveur j'ai déclaré le content-type comme étant iso-8859-1
2) au niveau de mes pages, j'ai supprimé toute déclaration d'encodage, celle du serveur devant suffire
3) j'ai supprimé tout encodage vers UTF pour me contenter de la fonction javascript escape()
Mais malgré tout j'ai encore des soucis, par exemple, le tiret précédé un espace est convertit en "â-" (les quote c'est pour circonstrire.) je vois aussi que l'apostrophe est convertir en â€tm (trade mark en anglais) et ainsi de suite.
C'est l'enfer.
Bref, je ne sais plus quoi faire et j'ai besoin de vos lumières si quelqu'un à une idée, je suis preneur.