Tester l'encodage des caractères - PHP - Programmation
Marsh Posté le 01-06-2010 à 09:57:55
chope le MIME du mail et fait un iconv
sinon pour ton str_replace c'est nl2br
Marsh Posté le 01-06-2010 à 10:36:36
J'arrive bien à retrouver le mime du message mais j'arrive pas à le traiter parce que je connais pas l'encodage du message... meme avec la doc du manuel php
$test=imap_fetchstructure($mbox, $i);
Marsh Posté le 01-06-2010 à 10:41:24
avec imap_mime_header_decode, sinon t'as d'autres pistes par ici avec imap_utf8
Marsh Posté le 01-06-2010 à 10:46:32
Ok, donc sa c'est bon mais je n'ai toujours pas l'encodage utilisé dans le message écrit clairement...
Quand je print_r ma variable, j'ai toujours ce tableau qui s'affiche :
Array ( [0] => stdClass Object ( [charset] => default [text] => Object ) )
$test=imap_fetchstructure($mbox, $i);
$elements = imap_mime_header_decode($test);
print_r($elements);
donc je vois pas quel charset utiliser avec iconv
Marsh Posté le 01-06-2010 à 11:07:09
Mais mon problème n'est pas exactement celui la...
Je voudrais récupérer l'info :
Mon message est encodé en ISO ou en utf8 et appliquer ou non cette fonction si le message est en ISO :
$message = nl2br(imap_qprint(imap_fetchbody($mbox, $i, 1)));
Marsh Posté le 01-06-2010 à 11:29:13
En faite, j'ai besoin des infos en utf8 donc quand le mail est déja encoder en utf8 je n'ai rien à faire à par a enregistré mes messages.
Par contre en iso je dois d'abord convertir en UTF8 puis ensuite enregistré
Marsh Posté le 01-06-2010 à 11:46:20
donc juste imap_utf8, te servira dans n'importe quelle cas
Marsh Posté le 01-06-2010 à 11:50:07
ba c'est je que j'avais tester à la base mais il me restais des bug genre
Bonjour Am=E9lie...
Marsh Posté le 01-06-2010 à 13:44:35
et en comme ca
utf8_encode(imap_qprint($str))
de tout facon c'est par rapport au type de message t'as les correspondances ici :
http://www.php.net/manual/fr/funct [...] .php#56230
les codes sont dans les constantes
Marsh Posté le 01-06-2010 à 09:52:40
Bonjour à tous,
Je suis en train de travailler à la récupération d'email via les fonctions IMAP de PHP. La majorité des messages reçus sont au format ISO. J'ai donc écrit une fonction "décodage" pour les traiter ensuite en utf8.
Le problème c'est que certains de ces mails sont au format utf8 au départ et je leur applique aussi le traitement pour les chaines iso alors qu'il ne faudrait pas...
Y a t'il un moyen de tester quel est l'encodage du mail (utf-8 ou iso) avant de lui appliquer une fonction de décodage ?