Problème d'encodage de caractère Ajax et ASP
4 messages
• Page 1 sur 1
- jack910
- WRInaute discret

- Messages: 97
- Inscription: 29 Aoû 2005
Problème d'encodage de caractère Ajax et ASP
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.
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
As tu quand même essayé de forcer l'encodage de tes pages via :
?
- Code: Tout sélectionner
Response.Charset = "ISO8859-1"
?
- jack910
- WRInaute discret

- Messages: 97
- Inscription: 29 Aoû 2005
J'ai essayé , ça ne résoud pas le problème, j'ai fait une autre expérience, j'ai l'impression que les fonction escape() en javascript envoie les données au format UTF-8, en les décodant avec une fonction ASP ufthtmlEncode (fonction qui passe les caractère UTF à leur équivalent au format HTML) j'ai l'impression d'avoir de meilleur résultat.
Est-ce que quelqu'un saurais me dire avec précision si escape() encode les données au format UTF-8
Est-ce que quelqu'un saurais me dire avec précision si escape() encode les données au format UTF-8
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Encodage caractère
- Encodage de caractère
- problème encodage
- Problème encodage cyrillique
- Problème encodage avec firefox
- Problème encodage iso et utf-8 Joomla 1.0.15
- Problème d'affichage des entrées SQL (encodage)
- Problème caractères bizzares dans Google (encodage...?)
- Gmail - Imap : Problème encodage caractères spéciaux
- Problème encodage de mon Blog utf-8 et iso-latin
Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
