caractères étrangés phpMailer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : caractères étrangés phpMailer

Re: caractères étrangés phpMailer

par profilien » 07 oct. 2011, 10:01

Oui le fichier est bien enregistré en UTF-8

Re: caractères étrangés phpMailer

par frexios » 06 oct. 2011, 22:54

Tu as bien enregistré ton fichier au format UTF 8 ?

Re: caractères étrangés phpMailer

par profilien » 06 oct. 2011, 16:45

Merci beaucoup de ton aide frexios mais malheureusement pas de changement.

Merci, je vais me pencher sur le lien précédent

Re: caractères étrangés phpMailer

par Mazarini » 06 oct. 2011, 16:12

Eventuellement, tu peux regarder du coté de la fonction iconv() : http://www.php.net/manual/fr/function.iconv.php

Edit : la fonction iconv_get_encoding() permet de savoir dans quoi est codé la chaine. Reste le problème du codage à faire.

Re: caractères étrangés phpMailer

par frexios » 06 oct. 2011, 15:50

Essaye avec :
                $mail = new PHPmailer();                                       
                                                $mail->IsHTML(true);
                                                $mail->From=$mail_expediteur;
                                                $mail->FromName=$mail_expediteur;
                                                $mail->AddBCC($mail_destinataire);
                                                $mail->AddReplyTo($mail_expediteur);
                                                $mail->AddEmbeddedImage("../../images/$image", "my-attach", "../../images/$image");
                                                $mail->Subject = "=?utf-8?B?".base64_encode($objet)."?=";
                                                       
                                                $tailleImage=getimagesize("../../images/$image");
                                                $largeur=$tailleImage[0];
                                                $hauteur=$tailleImage[1];
                                                       
                                                $message="<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">";

                                                $message.="<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
       
                                                $message.="<body bgcolor=\"#$couleur_fd\"><center><br/><br/>";
                               
                               
               
                                                $message.="</font></center></body></html>";    
                                               
                                               
                                               
                                                $mail->MsgHTML($message);
On n'oubliant pas d'encoder la page en UTF8.

Re: caractères étrangés phpMailer

par profilien » 06 oct. 2011, 10:18

Merci de ta réponse.

Oui j'ai en effet essayer avec plusieurs logiciel mail et webmail => même résultat.
De plus il faut que cela marche avec le plus de client mail possible donc...

Re: caractères étrangés phpMailer

par xTG » 06 oct. 2011, 10:11

Cela ne viendrait pas du webmail ou du logiciel de messagerie que tu utilises pour lire tes mails ?
As-tu essayé avec un autre outil ?

Re: caractères étrangés phpMailer

par profilien » 06 oct. 2011, 09:55

Mince, c'est en faite la retranscription de 简报 en caractère numériques décimaux.

c'est à dire :
&#31616;&#25253;
Dans un navigateur les caractères sont bien retranscrit ainsi que dans le corp du mail mais pas dans l'objet du mail!
Merci déjà de s'être penché sur mon problème.

Une solution?

Re: caractères étrangés phpMailer

par frexios » 05 oct. 2011, 23:03

Euh ?

Screen de ce que je voi :
Image

caractères étrangés phpMailer

par profilien » 05 oct. 2011, 16:32

Bonjour à toute la communauté!

Je viens demander aide et conseil sur un problème qui me bloque depuis un moment.

J'ai réalisé un formulaire qui a pour but d'envoyer des emails au format html avec la librairie phpMailer.
Tout marche très bien sauf sur un point, les utilisateurs peuvent être un peu partout dans le monde et entrer leurs messages en chinois, russe ....
J'ai donc testé, le contenu du mail s'affiche bien correctement mais jamais l'objet du mail.

J'obtiens par exemple pour un objet de mail en chinois:
&#31616;&#25253; au lieu de 简报

J'ai cherché dans plein de directions charset, encodage, decodage de la chaine .... :( sans succès

Voici l'extrait de code du fichier d'envoi en question


		$mail = new PHPmailer();					
						$mail->IsHTML(true);
						$mail->From=$mail_expediteur;
						$mail->FromName=$mail_expediteur;
						$mail->AddBCC($mail_destinataire); 
						$mail->AddReplyTo($mail_expediteur);
						$mail->AddEmbeddedImage("../../images/$image", "my-attach", "../../images/$image");
						$mail->Subject = $objet;
							
						$tailleImage=getimagesize("../../images/$image");
						$largeur=$tailleImage[0];
						$hauteur=$tailleImage[1];
							
						$message="<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">";

						$message.="<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
	
						$message.="<body bgcolor=\"#$couleur_fd\"><center><br/><br/>";
				
				
		
						$message.="</font></center></body></html>";	
						
						
						
						$mail->MsgHTML($message); 

Avez-vous des suggestions voir des solutions pour que je recentre mes recherches ?
Car la je sèche

Mille mercis par avance