Problème d'affichage des accents ASCII [Résolu]

Messages postés
18
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
21 septembre 2013
- - Dernière réponse : tetranima
Messages postés
18
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
21 septembre 2013
- 10 juin 2011 à 14:51
Bonjour,

J'ai une fonction qui récupère un texte d'un formulaire POST et qui envoie ce texte par mail.

Le souci que je rencontre est que les accents n'apparaissent pas. un losange noir avec un point d'interrogation(�) les remplace.

Le mail est envoyé par phpmailer en mode "plain/text" et utilise l'encodage "utf_8".

J'ai fait un "mb_detect_encoding" sur la chaîne qui pose problème. Il semble qu'elle soit en ASCII.

J'ai fait un test en mettant phpmailer en iso-8859-1, et là, la chaine s'affiche bien, mais le rest qui etait en utf-8 non.

J'ai essayé de convertir ma chaine en utf-8 via "mb_convert" "utf8_encode" "iconv", rien n'y fait, la chaîne reste en ascii et ne veut pas changer. (je fais un "mb_detect" après la conversion)
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
18
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
21 septembre 2013
3
Merci
Problème résolu.

J'ai appliqué ces deux fonctions sur la chaîne qui posait problème :

$string = utf8_encode(html_entity_decode($string));


Apparemment, les fonctions de conversion ne fonctionnaient pas pour convertir des entités html du style é dans un autre format que ascii (je ne vois pas prkoi, mais bon).
Du coup, un ptit coup de html_entity_decode() pour remettre les vrais caractères, puis utf8_encode() et le tour est joué.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tetranima