Encodage mail

WieWeet Messages postés 13 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 18 février 2014 - 16 juin 2011 à 11:34
WieWeet Messages postés 13 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 18 février 2014 - 21 juin 2011 à 12:41
bonjour,
je dois enregistrer des mails reçus
pour les ré-exploiter plus tard.
ces mails ont des encodages différents ( iso, utf8 ... )
j'aimerais les mettre dans un fichier, en utf8 par
exemple. comment détecter l'encodage du mail ?
dans ces mail, les lignes :

Content-Type: text/plain; charset="iso-8859-1"
Content-type: text/plain; charset=utf-8
...
Content-Transfer-Encoding: quoted-printable
Content-Transfer-Encoding: 8Bit
...

permettent-elles de pouvoir transformer
(si nécessaire) ces mails ?
comment transformer en utf-8 en fonction
du contenu de ces mails ?
par avance, merci
A voir également:

5 réponses

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
17 juin 2011 à 09:54
Bonjour,
cet article pourra t'interresser si tu ne connais pas la nature de l'encodage :
http://www.codeproject.com/KB/recipes/DetectEncoding.aspx
et celui-ci pour le transcodage :
http://george2giga.com/2010/10/08/c-text-encoding-and-transcoding/

Bon codage.
Une remarque commence toujours par faire une recherche sur internet.


louis
0
WieWeet Messages postés 13 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 18 février 2014
17 juin 2011 à 14:14
>>commence toujours par faire une recherche sur internet.

parce que tu crois que je n'ai pas cherché ??

il ne s'agit pas de reconnaître l'encodage
sur des textes quelconques, mais sur de mails reçus.
ce que tu me proposes est bien trop compliqué,
et renvoyer vers des liens que tout le monde peut
trouver, ne sert pas à grand chose.
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
20 juin 2011 à 09:46
Du calme je répondais à ta question dans laquelle tu ne précisais pas que tu avais cherché sur le net. Si tu regardes un peu les messages de ce forum , il arrive souvent que ce ne soit pas fait.
En plus desfois on trouve des choses que les autres n'ont pas vu, un peu le but de la recherche en général.
Je ne t'ai pas répondu pour me faire engueuler , ce n'est pas le but de ce forum, mais il faut savoir accepter des remarques.
J'espère tout de même , compte-tenu du ton de ta réponse, que d'autres personnes vont perdre un peu de leur temps pour te répondre.

Bonne journée et bon codage
louis
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
20 juin 2011 à 15:13
Hello...

Pas la peine de monter sur ses grands chevaux... vous êtes sur un communautaire : chacun aide en fonction de son temps et de ses compétences.

Revenons au problème :

Si tu es sûr d'avoir toujours la ligne "Context-Type", il suffit de la récupérer et surtout récupérer la partie intéressante : iso-8859-1, utf-8...

Pour cela tu peux utiliser une expression régulière... ça marche pas mal.

Ensuite pour faire le transtypage, ce qu'il te faut c'est l'encoding de ton format d'entrée :

   var inputEncoding = Encoding.GetEncoding(typeEncodingMail);


et faire ton simplement :

   byte[] output = Encoding.Convert(inputEncoding, Encoding.UTF8, input);


pour plus d'informations : Encoding.Convert


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
0

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

Posez votre question
WieWeet Messages postés 13 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 18 février 2014
21 juin 2011 à 12:41
@louis14
je ne t'ai pas engueulé, j'ai simplement fait
remarqué que balancer des liens sans même lire
la question est facile et n'aide généralement en rien.
@sebmafate
réponse constructive au moins.
"on" progresse
mon souci : faire la relation entre
"iso-8859-1", "utf-8"... que je pense savoir récupérer
et le
var inputEncoding = Encoding.GetEncoding(typeEncodingMail);
dont tu causes...
@+
0
Rejoignez-nous