Page 1 sur 1

Probleme de caractère à l'envoye du mail

Posté : 18 janv. 2006, 18:35
par Tictac
Voici mon bout de code pour que vous comprenniez ce que j'ai déjà fait
if($format[$i] == "1")//HTML
				{
				// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
				 $headers  = 'MIME-Version: 1.0' . "\r\n";
				 $headers .= 'Content-type: text/html; charset=iso-8859-15' . "\r\n";
				 $headers .= 'From: De oude statie <[email protected]>' . "\r\n";
				$tohtml = $TO[$i] ;
				$subname = $subscriber[$i];
				$txt = html_entity_decode($_POST['dynTxt1']) ;
				include "../../mailhtml.php";
				$result = mail($tohtml,$sujet,$data,$headers);
				}
			else{//TXT
				 $headers = 'From: De oude statie <[email protected]>' . "\r\n";
				$totxt = $TO[$i] ;
				$subname = $subscriber[$i];
				$txt = $_POST['txtMessageText1'] ;
				$result = mail($totxt,$sujet,$txt,$headers);
				}
			}//end for envoi
je me suis envoyé un mail et voici ce que j'ai recu =>

Code : Tout sélectionner

Vous pourriez vous demander pourquoi trim(html_entity_decode(' ')); ne réduit pas la chaîne à la chaîne vide. C'est parce que l'entité n'est pas un code ASCII 32 (qui serait supprimé par trim()) mais un code ASCII 160 (0xa0) dans le jeu de caractères par défaut ISO 8859-1.
savez vous me dire pq et comment empecher ce genre de probleme !

merci

Posté : 18 janv. 2006, 19:09
par Tictac
J'ai essayé ceci =>
 $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
c'est bon chez certaine personne ! mais moi par ex sur hotmail c'est foireux !!

Posté : 19 janv. 2006, 12:56
par i974
dans mon firefox, si je met en unicode, je vois ton texte sans probleme :x
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
peut-être ?
ca vient plus d'un probleme du navigateur qui est reglé en unicode ou en occidental...

mais bon, je dis ptet une betise ^^ dsl ;)