Texte brute dans formulaire 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
-
19 juil. 2010 à 17:44
Hanz0 Messages postés 26 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 - 19 juil. 2010 à 19:54
Hanz0 Messages postés 26 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 - 19 juil. 2010 à 19:54
A voir également:
- Texte brute dans formulaire PHP
- Excel cellule couleur si condition texte - Guide
- Formulaire de réclamation facebook - Guide
- Transcription audio en texte word gratuit - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mettre un texte en majuscule - Guide
4 réponses
le_joker_fou
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
19 juil. 2010 à 18:40
19 juil. 2010 à 18:40
Salut,
header de ton mail "charset=iso-8859-1".
header de ta page contact "charset=utf-8".
Donc deux solutions :
1 - Soit tu mets les header de ton mail et de ta page au même charset utf-8 ou iso-8859-1.
2 - Soit tu utilises la fonction utf8_decode($champ) au moment ou tu inclus des données formulaire dans ton mail.
header de ton mail "charset=iso-8859-1".
header de ta page contact "charset=utf-8".
Donc deux solutions :
1 - Soit tu mets les header de ton mail et de ta page au même charset utf-8 ou iso-8859-1.
2 - Soit tu utilises la fonction utf8_decode($champ) au moment ou tu inclus des données formulaire dans ton mail.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
19 juil. 2010 à 18:38
19 juil. 2010 à 18:38
Salut.
Ton fichier doit être encodé en UTF-8 car c'est cet encodage qui est précisé dans une meta.
Remplace également
Ton fichier doit être encodé en UTF-8 car c'est cet encodage qui est précisé dans une meta.
Remplace également
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";par
$entetes .="Content-Type: text/html; charset=utf-8 \n";
Hanz0
Messages postés
26
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
1 décembre 2010
5
Modifié par Hanz0 le 19/07/2010 à 18:52
Modifié par Hanz0 le 19/07/2010 à 18:52
Bonsoir,
J'ai effectivement mis utf-8 partout, mais je reçois toujours les caractères accentués non "décodés".
Pour la fonction utf8_decode($champ), pourrais-tu me dire exactement où l'inclure.
Merci d'avance.
J'ai effectivement mis utf-8 partout, mais je reçois toujours les caractères accentués non "décodés".
Pour la fonction utf8_decode($champ), pourrais-tu me dire exactement où l'inclure.
Merci d'avance.
le_joker_fou
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
19 juil. 2010 à 19:07
19 juil. 2010 à 19:07
Utf8 implique quer ton webmail, ou logiciel mail utilise le codage utf8. Or par défauit c'est du iso.
Pour la fonction, si je reprends le mordeau de code suivant :
>Nom = " . $_SESSION['champ1'] . "
tu la mets ici :
>Nom = " . utf8_decode($_SESSION['champ1']) . "
Pour la fonction, si je reprends le mordeau de code suivant :
>Nom = " . $_SESSION['champ1'] . "
tu la mets ici :
>Nom = " . utf8_decode($_SESSION['champ1']) . "
Hanz0
Messages postés
26
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
1 décembre 2010
5
Modifié par Hanz0 le 19/07/2010 à 20:54
Modifié par Hanz0 le 19/07/2010 à 20:54
Bonsoir,
tout d'abord un grand merci pour la qualité et la rapidité des réponses.
Donc n"étant pas codeur j'ai un peu cherché des repaires dans le codes.
Pour les nuls comme moi voici donc où ça se passe avec le code ci-dessus :
Bien entendu, il faut appliquer à tous les champs où il est susceptible d'avoir des caractères accentués.
Donc là encore j'ai cherché un peu plus loin que le bout de nez et j'ai changé d'adresse e-mail en redirigeant vers Gmail.
Et là tout est impeccable.
Deux solutions s'ouvrent à vous :
1) Appliquer les changements comme indiqué ci-dessus.
2) Si comme moi vous avez Thunderbird, faites comme ceci.
Outils -> Options -> Affichage ->Formatage ->Avancé - Encodage des caractères
Mettez UTF-8 aux 2
Edit : Je viens d'essayer dans Thunderbird et ça ne change rien.
Donc une seule méthode fonctionne.
Carton plein pour le_joker_fou.
Bravo et encore un tout tout grand merci pour l'aide.
Générateur de formulaire de contact PHP : http://www.comscripts.com/scripts/php.assistant-formulaire-php.1587.html
tout d'abord un grand merci pour la qualité et la rapidité des réponses.
Donc n"étant pas codeur j'ai un peu cherché des repaires dans le codes.
Pour les nuls comme moi voici donc où ça se passe avec le code ci-dessus :
//Partie HTML de l'e-mail... $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 l'email = " . utf8_decode($_SESSION['champ3']) . "</font><br>\n"; $partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Email = " . $_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"; ...
Bien entendu, il faut appliquer à tous les champs où il est susceptible d'avoir des caractères accentués.
Donc là encore j'ai cherché un peu plus loin que le bout de nez et j'ai changé d'adresse e-mail en redirigeant vers Gmail.
Et là tout est impeccable.
Deux solutions s'ouvrent à vous :
1) Appliquer les changements comme indiqué ci-dessus.
2) Si comme moi vous avez Thunderbird, faites comme ceci.
Outils -> Options -> Affichage ->Formatage ->Avancé - Encodage des caractères
Mettez UTF-8 aux 2
Edit : Je viens d'essayer dans Thunderbird et ça ne change rien.
Donc une seule méthode fonctionne.
Carton plein pour le_joker_fou.
Bravo et encore un tout tout grand merci pour l'aide.
Générateur de formulaire de contact PHP : http://www.comscripts.com/scripts/php.assistant-formulaire-php.1587.html