Encoding [Résolu]

Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention - 7 juil. 2009 à 14:05 - Dernière réponse : Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention - 9 juil. 2009 à 11:34
3
Merci
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.

Merci Mike490 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 126 internautes ce mois-ci

Commenter la réponse de Mike490
loregaz 4 Messages postés mercredi 22 janvier 2003Date d'inscription 9 juillet 2009 Dernière intervention - 8 juil. 2009 à 12:11
0
Merci
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
Commenter la réponse de loregaz
Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention - 8 juil. 2009 à 13:33
0
Merci
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.
Commenter la réponse de Mike490
loregaz 4 Messages postés mercredi 22 janvier 2003Date d'inscription 9 juillet 2009 Dernière intervention - 8 juil. 2009 à 15:22
0
Merci
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)
Commenter la réponse de loregaz
Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention - 8 juil. 2009 à 16:19
0
Merci
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.
Commenter la réponse de Mike490
loregaz 4 Messages postés mercredi 22 janvier 2003Date d'inscription 9 juillet 2009 Dernière intervention - 8 juil. 2009 à 17:02
0
Merci
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...
Commenter la réponse de loregaz
Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention - 9 juil. 2009 à 08:54
0
Merci
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 ?
 
Commenter la réponse de Mike490
loregaz 4 Messages postés mercredi 22 janvier 2003Date d'inscription 9 juillet 2009 Dernière intervention - 9 juil. 2009 à 10:04
0
Merci
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...
Commenter la réponse de loregaz
Mike490 25 Messages postés jeudi 2 juillet 2009Date d'inscription 29 octobre 2010 Dernière intervention - 9 juil. 2009 à 10:19
0
Merci
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.
Commenter la réponse de Mike490

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.