XML généré avec un encoding utf-16

Signaler
Messages postés
2
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
16 mars 2004
-
Messages postés
2
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
16 mars 2004
-
Bonjour tout le monde,

Afin de générer un pdf, je sérialize une class avec la class System.Xml.Serialization.

Malheureusement, il me met un encoding "utf-16" alors qu'il faudrait qu'il mette "utf-8" pour que ma génération de pdf marche par la suite.

Si quelqu'un à une solution, merci beaucoup.

Mail myMail = new Mail("mailhost.site.fr",User.Identity.Name,MailTo.Text,Subject.Text,Body.Text);

System.IO.TextWriter sw = new StringWriter();
System.IO.StreamWriter Sw = new StreamWriter("C:/xml/emaildata.xml");

XmlSerializer ser = new XmlSerializer(typeof(Mail));
ser.Serialize(sw,myMail);
Sw.WriteLine(sw.ToString());

LeSeb

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
certaines surcharges du constructeur de StreamWriter permettent de spécifier un encodage
regarde de ce coté là

Cocoricoooooooo !!!!
Messages postés
2
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
16 mars 2004

J'ai fouillé un peu partout comme tu m'as dit et j'ai trouvé une class permettant de définir le type d'unicode.

XmlSerializer ser = new XmlSerializer(typeof(Mail));

Stream fs = new FileStream("/xml/emaildata.xml",
FileMode.Create,FileAccess.Write);
System.Xml.XmlWriter writer = new System.Xml.XmlTextWriter(fs, new System.Text.UTF8Encoding());

ser.Serialize(writer,myMail);

writer.Close();

Voila merci pour ton aide.
LeSeb