Encoding

Résolu
Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010 - 7 juil. 2009 à 14:05
Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010 - 9 juil. 2009 à 11:34
Bonjour,
Je développe actuellement une application web en ASP.NET/C# sous Visual Studio 2008 et une BDD SQL Server 2008.
J'ai des souci dans le choix de l'encoding XML. En effet, les accents sont mal interpreté (é, è, ê, ë, ...). Ceux-ci apparaisent normalement dans mes grille de données (grille infragistics webdtagrid ou ultrawebgrid) mais sont mal lu et remplacés par des codes dans les textbox (ex : é = é).
Dans ma page web.config je précise ce type d'encoding qui me semble être le mieux adapté à la langue française :
<?

xmlversion="
1.0"
encoding="
iso-8859-1"
?>

Malheureusement les accent n'apparaissent toujours pas.
Pouvez-vous m'aider et m'éclairer sur le choix du bon encoding et de son fonctionnement.
Merci.
A voir également:

9 réponses

Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010
9 juil. 2009 à 11:34
Bon, après plusieurs recherche j'ai enfin trouvé une solution à mon problème :), mais qui est surement à perfectionnée.
Comme je te disais les accent s'affichent correctement dans mes grilles mais pas dans les textbox.
Il se trouve que la convertion ne doit pas s'éffectuer côté server (je pense).
voici la solution :
TextBox1.Text = Server.HtmlDecode(GridView1.Rows[3].Cells[0].Text);

Ce qui est domage c'est que toutes les textbox qui récupère des données de grille doivent contenir Server.HtmlDecode(...), mais problème résolu quand même :).
Merci.
3
loregaz Messages postés 4 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 9 juillet 2009
8 juil. 2009 à 12:11
Bonjour,
Je génère pas mal de XML, KML pour google, IGN avec une appli ASP.NET/C#

Dans le web.config (system.web), j'ai dû mettre :

<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" culture="fr-FR" uiCulture="fr-FR"/>

et dans l'entête des fichiers XML que je génère, je mets :



<?xmlversion="
1.0"
encoding="
utf-8"
?>



Pour le système européen occidental, il y a effectivement





iso-8859-1, voire plus récent











iso-8859-1

5 (qui inclut le symbole €), mais tu rencontreras pas mal de pb d'affichage suivant le navigateur ou le parser chargé de lire ces fichiers XML. Je te recommande donc d'utiliser comme moi l'UTF-8, mais il faut que l'encodage du fichier XML soit aussi fait en UTF-8.









Si tu as des soucis dans cette génération, demande...










P.S. : Assure-toi bien que tes fichiers ASPX sont encodés en UTF-8 car tu risques d'avoir peut-être quelques surprises à l'affichage des pages ASPX au début -> losanges noirs pour les caractères accentués (Utilise UltraEdit ou Notepad++ par exemple pour faire cette conversion... si nécessaire)











A+











Bonne journée
0
Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010
8 juil. 2009 à 13:33
Bonjour Loregaz,

Merci pour ta reponse et tes conseils mais je dois mal m'y prendre car ça ne marche pas.
En effet j'ai bien rajouté la ligne <globalization> dans mon web.config et vérifier l'encoding dans les fichier xml (web.config et App_Code/DataSet.xss). j'ai donc testé en UTF-8 et en iso-8859-1 5 mais toujours rien.
Comment faire pour m'assurer que mes fichiers ASPX soient bien encodés en UTF-8 ? Je pense qu'ils le sont par défaut mais je vois pas comment vérifier.

Ce qui est bizard c'est que lorsque je saisis des caractères accentués dans un textbox et que je valide la mise a jour, les accents apparaissent bien. Mais c'est quand je ferme et reouvre la page qu'ils sont remplacés par des codes.

Si tu vois ce qui ne va pas dis le mois stp.
0
loregaz Messages postés 4 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 9 juillet 2009
8 juil. 2009 à 15:22
Si tu ouvres tes fichiers .ASPX avec un éditeur comme Notepad++ (ou UltraEdit) il te signifiera le type d'encodage de ces fichiers (sources)...ASCII, UNIX, MAC, UNICODE, DOS, UTF-8...et tu peux faire une conversion si nécessaire avant de réengistrer le fichier (sur lui-même)...J'ai eu à le faire sur certains fichiers d'un projet sur lequel je travaille avec d'autres personnes (ce n'est pas très clair au niveau de VS8 là-dessus !?!?)

Le pb est au niveau des fichiers XML ou dans tes pages affichées ? (aurais-tu une capture ?)
Comment génères-tu tes fichiers XML (méthode writeXML à partir d'un Dataset/DataTable ou génères-tu un flux que tu enregistres en fichier XML à la fin) ?

P.S. : pour info, c'était iso-8859-15 (un espace s'était glissé par mégarde dans mon premier message)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010
8 juil. 2009 à 16:19
Ok, pour mes fichiers .ASPX ils étaient éffectivement pas encodé en UTF-8, j'ai fait la convertion avec Notepad++.

Le probleme est au niveau de mes pages affichées car je n'est pas créé de fichier XML, ceux-ci ce sont créé automatiquement (web.config).

Exemple d'affichage sur ma page :
- cr&#233;ation au lieu de création,
- &#224; au lieu de à, 
- 1 carré au lieu °, ...
(pas de capture d'écran désolé).

Pourtant je dispose de grille ultrawebgrid/webddatagrid ou les accents s'affichent correctement.
0
loregaz Messages postés 4 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 9 juillet 2009
8 juil. 2009 à 17:02
Là, je ne vois pas trop ton problème...

C'est dans le rendu de tes fichiers ASPX ? De certains composants (grilles) ? De données provenant d'une BDD ?...Difficile de t'aider plus sans avoir plus d'éléments...
0
Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010
9 juil. 2009 à 08:54
Oui toutes les données proviennent d'une BDD SQL Server 08.
Toutes les grilles sont reliées à 1 dataset alimenté par la BDD et les textbox récupèrent certaines données de ces grilles.
Les accents s'affichent bien dans les grilles mais pas dans les textbox et même problème pour les dropdownlist.
Es ce qu'il y a d'autre info qui te manque et es ce qu'il y a aussi des paramètres à régler dans sql server ?
 
0
loregaz Messages postés 4 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 9 juillet 2009
9 juil. 2009 à 10:04
Pour SQL Server, je ne peux t'aider...j'utilise Oracle (mais je n'ai rien eu à régler d'autres en paramétrage)
C'est curieux que tu aies certains composants qui s'affichent bien et pas les autres...je n'ai pas d'idées supplémentaires pour l'instant...
0
Mike490 Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 29 octobre 2010
9 juil. 2009 à 10:19
Ok dac, je te remercie pour le temps que tu as déja passé pour m'aider et je te tiens au courant si j'ai trouvé une soluce.
0
Rejoignez-nous