5568 sujets

Sémantique web et HTML

bonjour

J’ai ce texte dans un mail que je décode :

Oui, voila, un message avec une pi=E8ce jointe.
Bien amicalement.
Fran=E7ois
t=E9l=E9phone: 

où les caractères accentués sont mal affichés.

Comme je l’ai déjà fait avec d’autres parties de mail, je tente de le formater avec ce code :

function decode_iso88591($string)
	{ 
	if (strpos(strtolower($string), '=?iso-8859-1') === false) 
		{ 
		return $string; 
		} 
	$string = explode('?', $string); 
	return strtolower($string[2]) == 'q' ? quoted_printable_decode($string[3]) : base64_decode($string[3]); 
	}

Mon problème : ce formatage n’a aucun effet.

Merci par avance de votre aide.

Francois
------------------------------------------------------
J'ai fait:

echo "<pre>\n\n"; print_r(imap_fetchstructure($mail_cnx, $i)); echo "\n\n</pre>";

que je peux poster si c'était utile.

Francois
Modifié par francoisch (19 Dec 2010 - 21:31)
Salut,

J'ai un peu de mal à voir le rapport entre ton problème et le codage (X)HTML.

Ton problème est juste un souci de différence d'encodage entre le texte du mail et le format de ta page. la fonction imap_fetchstructure doit déjà te retourner un type de codage.


Mais de toute façon, avant de le décoder/interpréter, il faut savoir précisément quel est son codage.
Pour cela il y a une fonction en php: "mb_detect_encoding()".
bonjour et merci de ta réponse.

C'est vrai, moi aussi, j'ai du mal.

Je ne connaissais pas mb_detect_encoding(), ça m'intéresse, je vais y travailler.

Merci.

Francois
mb_detect_encoding, utilisé tel quel, me dit que mes différents messages de test sont de l'ASCII, ce qui ne parait pas résoudre mes problèmes.

Un problème: formater proprement des textes comme celui que je présentais au début.

Un autre problème: formater cet Objet d'un message:

Objet: =?UTF-8?Q?Tr:No=C3=ABl_:_cadeaux,_petits_pri?= =?UTF-8?Q?x,_cin=C3=A9ma_et_offres_festives_!?= 

qui ressemble bien à de l'UTF-8 mais résiste à utf8_decode().

Merci par avance de votre aide.

Francois