accents IMAP =C3=A9

Petit nouveau ! | 2 Messages

29 oct. 2014, 12:32

Bonjour,

Alors voilà je me suis créé un Webmail, mais lorsque j'ouvre mes mails, certains mails envoyés par free.fr ou Google ou encore Outlook, j'ai des problèmes d'accents. Les accents n'ont pas la forme de é mais cette forme: =C3=A9 chose que je n'avais jamais vu.

Je ne sais pas trop comment régler le problème, j'ai essayé déjà tant de trucs..
<?php 

$mbox = imap_open('{'.$boiteMail.':'.$port.'/pop3}', $login, $motDePasse);
$mails = FALSE;
if (FALSE === $mbox) {
die('La connexion a ꤨou鮠V곩fiez vos param鵲es!');
} else {
$uid = $_GET['uid'];
$headerText = imap_fetchHeader($mbox, $uid, FT_UID);
$header = imap_rfc822_parse_headers($headerText);

// REM: Attention s'il y a plusieurs sections
$corps = imap_fetchbody($mbox, $uid, 1, FT_UID);
}
imap_close($mbox);
?>
<html>
	<header>
	<link href="../style.css" type="text/css" rel="stylesheet"></link>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <head><title>Visualisation mail</title></head>
  

	</header>
	
<body>
<div id="menu">
<?php include("../menu.php"); ?>
</div><br>
<div id="contenu">
<?php include("menu.php"); ?>

<div style="background-color:#F8F8F8;padding:10px 10px 10px 10px">
<?php
$from=$header->from;
echo "Message de: ".$from[0]->personal." [".$from[0]->mailbox."@".$from[0]->host."]<br>";
?>
<br>

<a class="bouton" href="visuhtml.php?uid=<?php echo $uid; ?>">Activer le HTML</a>
<textarea cols="120" name="reponse" id="reponse" rows="20"><?php echo $corps; ?></textarea><br>
Voilà ma page de visualisation. Des idées?

Bien à vous!

ynx
Mammouth du PHP | 586 Messages

29 oct. 2014, 13:03

Salut,

Plusieurs pistes :
- vérifier l'encodage de ton fichier php (passer en UTF-8 sans BOM)
- vérifier le charset défini dans l'entête du mail (à ne pas confondre avec le charset défini dans le code html du contenu du mail)
- vérifier l'encodage des données à afficher (utiliser htmlentities en précisant le 3e paramètre)

Bonne journée

Eléphant du PHP | 63 Messages

29 oct. 2014, 13:30


Petit nouveau ! | 2 Messages

29 oct. 2014, 14:44

Houla houla! Déjà merci de m'avoir répondu, mais je suis débutant et j'aurais besoin d'un peu plus d'explications ^^

J'ai bien encodé mon fichier en UTF sans BOM

J'ai essayé le htmlentities comme cela:
<?php echo htmlentities($corps); ?>
Mais en vain, en revanche ta deuxième solution, je n'ai pas dutout compris.

Merci

Avatar du membre
Petit nouveau ! | 2 Messages

30 mai 2023, 09:12

hello,

Je sais, le sujet est assez vieux, mais j ai eu le meme probleme
et donc, la solution est....suspense!


quoted_printable_decode();

si ça peut aider quelqu un ;)


cordialement :D

Avatar du membre
Petit nouveau ! | 2 Messages

30 mai 2023, 09:19

oups, je suis allé un peu vite, la reponse etait dejà donnée!

je ferai attention la prochaine fois :mrgreen: