J’ai développé un petit lecteur de messagerie qui fonctionne depuis quelques années :
imap_open ("{".$serveur_entrant. …
…
$part=imap_fetchbody($link,$msgid,$i2);
…
if ((strtoupper($dparam->attribute)=='NAME') ||(strtoupper($dparam->attribute)=='FILENAME')) $filename=$dparam->value;
…
J’ai parfois des soucis avec la transcodification des caractères qui provoque des affichages curieux, comme :
Comment allez-vous ? Bien=2C j'esp=E8re !
J’ai aussi parfois, et c’est plus ennuyeux, des difficultés à identifier les pièces jointes :
filename: =?iso-8859-1?Q?Et=E9_20114.JPG?= extension: jpg?=
qui fonctionne d’ordinaire et devrait dire :
filename: Eté_20114.JPG extension: jpg
Tout semble vraiment tourner autour de la bonne / mauvaise transcodification des caractères.
A votre avis, comment faire ? Merci par avance de votre aide.
Francois
------------------------------------------------------
J'ajoute que j'ai fait:
mb_detect_encoding($body);
qui indique que l'encodage est ASCII, ce qui ne semble pas faire avancer le sujet.
Francois
------------------------------------------------------
Les solutions, un peu bricolées:
- une table de conversion de caractères de Html en texte, par exemple: str_replace("=E9","é",$string)
- une correction des caractères =?iso-8859-1?Q?, avec: utf8_decode(imap_utf8()
Francois
Ce message a été modifié par francoisch - 28 octobre 2011 - 16:35.



Haut











