Caractère spéciaux avant champs (PHP)

Résolu/Fermé
Hanz0 Messages postés 26 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 - 20 juil. 2010 à 10:33
Hanz0 Messages postés 26 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 - 23 juil. 2010 à 10:44
Bonjour,

Ce message fait suite à celui-ci : https://forums.commentcamarche.net/forum/affich-18541061-texte-brute-dans-formulaire-php#p18542666

Pour le coup hier, vu l'heure et la fatigue, je n'ai pas fait attention, mais en fait voilà ce qui se passe :
Ce qui se trouve DANS le champs est effectivement bien affiché dans Thunderbird, mais pas ce qui se trouve avant.

Le résultat est le suivant :

Nom = gas2
Numéro de téléphone = 0486
Sujet de votre e-mail = test réel
Civilité = Monsieur
Statut = Particulier
Votre message = test où

Côté code j'ai bien appliqué ce qu'on m'a dit hier :

$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Nom = " . utf8_decode($_SESSION['champ1']) . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Numéro de téléphone = " . utf8_decode($_SESSION['champ2']) . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Sujet de votre e-mail = " . utf8_decode($_SESSION['champ3']) . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">E-mail = " . utf8_decode($_SESSION['zone_email1']) . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Civilité = " . utf8_decode($_SESSION['liste1']) . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Statut = " . utf8_decode($_SESSION['liste2']) . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre message = " . utf8_decode($_SESSION['zone_texte1']) . "</font><br>\n";


Je prend le mot "Civilité", il apparait correctement dans le code et sur la partie HTML du formulaire.
Donc je pense que je dois ajouter quelque chose AVANT, pour qu'une fois envoyé, les mots avec accents soient correctement décodés. Un peu comme la commande utf8_decode.
A moins que quelqu'un sache comment modifier les paramètres de Thunderbird 3.1 pour que ça s'affiche correctement, vu que sur Gmail ça fonctionne correctement.
J'ai déjà trifouiller dans les options d'affichage de Thunderbird, mais ça ne change rien comme indiqué hier.

D'avance merci pour votre aide.

A voir également:

3 réponses

Natio78 Messages postés 719 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 27 mai 2013 96
21 juil. 2010 à 16:46
regarde ça peut être ==> https://forum.alsacreations.com/topic-20-38176-1-Resolu-UTF-8-et-fonction-mail-pb-accents.html

si dans les headers de ton mail tu spécifies:
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
ou
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
22 juil. 2010 à 00:15
Salut.
Pour ne pas avoir de problème, vérifie que ces 3 encodages soient les mêmes :
- Celui du fichier
- Celui indiqué dans la meta ou celui par défaut du serveur
- Celui indiqué dans les entêtes de l'email
0
Hanz0 Messages postés 26 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 5
23 juil. 2010 à 10:44
Bonjour,

Tout d'abord merci à ceux qui se sont creusés la tête pour mon souci.

La réponse n'étais pas dans le code, mais bien chez mon hébergeur.
Je lui ai demandé hier de basculé ma base mysql de la version 4 vers la version 5.
Depuis hier, plus de souci.
Donc, dans mon exemple j'ai même dû enlever toutes les commandes utf8_decode.
Donc, laissez le code tel qu'il est. Ce qui donne :

$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Numéro de téléphone = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Sujet de votre e-mail = " . $_SESSION['champ3'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">E-mail = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Civilité = " . $_SESSION['liste1'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Statut = " . $_SESSION['liste2'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre message = " . $_SESSION['zone_texte1'] . "</font><br>\n";


Pour ceux qui se bagarrent toujours avec Thunderbird pour des soucis d'encodage de caractères, il y a ce post :

https://forums.commentcamarche.net/forum/affich-2429222-thunderbird-lecture-caracteres-avec-accents
0