Décodage d'un message venant d'un server POP

Peslami Messages postés 6 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 24 août 2007 - 24 août 2007 à 11:57
tomlev Messages postés 25 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 28 août 2007 - 27 août 2007 à 15:10
Je fais une application qui me permet de lire les mails d'un server pop, comme l'application  dont j'ai prit l'exemple est que j'ai trouver sur ce site, je n'arrive pas à afficher correctement certain message j'ai soit des carrés à la place des "é, è, à", ou dans le meilleur des cas j'ai un point d'interrogation.
Code qui affiche les caractères spéciaux en point d'interrogation:
               
                chars = sr.ReadLine();
                bytes = Encoding.Default.GetBytes(chars, 0, chars.Length);
                szTemp = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

Toute aide est la bien venu.

1 réponse

tomlev Messages postés 25 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 28 août 2007
27 août 2007 à 15:10
En fait, tout dépend du type de contenu et de l'encodage... dans les en-têtes du mail, tu as une propriété Content-Type qui t'indique ça. Le message peut éventuellement être en plusieurs parties, s'il y a des pièces jointes par exemples (dans ce cas Content-Type: multipart/alternative;), il faut alors vérifier l'en-tête Content-Type de chaque partie du message. En plus, le contenu du message est souvent encodé en "quoted printable" (Content-Transfer-Encoding: quoted-printable), c'est à dire que par exemple "é" est remplacé par "=E9".
Bref, en fait pour décoder le message il n'y a pas qu'une façon de faire, il faut tenir compte des en-têtes (qui sont en ASCII en principe, donc pas de problème ;)...)
0
Rejoignez-nous