Probleme de décodage de caractères accentués

Résolu
calagan_jc Messages postés 4 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 octobre 2005 - 13 oct. 2005 à 17:31
calagan_jc Messages postés 4 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 octobre 2005 - 17 oct. 2005 à 08:30
Bonjour,

Voici mon probleme, je vais chercher le contenu de mes mails, via un programme c#, sur un compte pop avec les instructions classiques:
USER XXX
PASS XXX
STAT
RETR X

Seulement, lors du RETR je reçois ce type de code :

...

Date:Wed, 12 Oct 2005 12:36:44 +0200


From:=?iso-8859-1?Q?"Fr=E9d=E9ric_DUPONT"?= < [mailto:fdupont@fdupont.fr fdupont@fdupont.fr] >
...

J'aierai savoir comment faire pour récuperer le même texte mais avec les caractères accentués.(From=Frédéric_DUPONT < [mailto:fdupont@fdupont.fr fdupont@fdupont.fr] >)

Merci beaucoup.

6 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
14 oct. 2005 à 15:07
j'ai trouvé un truc pour toi : http://anmar.eu.org/projects/sharpwebmail/

va téléchargé les sources et regarde le fichier suivant :

sharpwebmail-0.11\SharpMimeTools\src\SharpMimeTools.cs

Sébastien FERRAND
[MVP C#]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
14 oct. 2005 à 09:15
as-tu regardé du coté de l'espace de nom System.Text.Encoding ?

Sébastien FERRAND
[MVP C#]
0
calagan_jc Messages postés 4 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 octobre 2005
14 oct. 2005 à 09:37
En fait, j'ai essayé plusieurs solution d'encodage.

- Deja au niveau du flux :


StreamReader sr = new StreamReader(ns, System.Text.Encoding.ASCII);

- Puis au niveau de la chaine elle même:


string returnValue = "";
StreamReader sr =
new StreamReader(ns);

byte[] read =
new
byte[256];

ns.Read(read,0, 256);
System.Text.Encoding encode = System.Text.Encoding.GetEncoding(1252);
// 1252 correspond au codage western iso-8859-1
returnValue = encode.GetString(read);
return returnValue;

J'ai essayé plusieurs types d'encodage: UTF8, ASCII, .. mais j'avoue m'y perdre un peu. Je voudrais deja identifier le type de codage dans lequel arrive mes données, et savoir dans lequel les encoder pour récupérer mes caractéres spéciaux.
Je me demande aussi s'il est possible de prendre la chaine telle qu'elle est, et lui appliqué une fonction d'encodage/decodage, ou si je dois isoler les "=E9" et les remplacer par les caractéres correspondant.

Merci
0
calagan_jc Messages postés 4 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 octobre 2005
14 oct. 2005 à 14:43
up
0

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

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
14 oct. 2005 à 14:46
regarde la RFC 2047 déjà... http://www.csharpfr.com/rfc.aspx?rfc=2047

Sébastien FERRAND
[MVP C#]
0
calagan_jc Messages postés 4 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 octobre 2005
17 oct. 2005 à 08:30
C'est parfait j'y ai trouvé pas mal de réponses.
Merci beaucoup pour le temps pris et l'efficacité .
0
Rejoignez-nous