Forum > PHP > Caractères incohérents venant d'un formulaire PHP

Caractères incohérents venant d'un formulaire PHP

avatar de Vitoutso
Membre
# Le 08/09/2010 à 12h19
Bonjour,

Je savais bien que je n'allais pas tarder à avoir de nouveau de l'aide pour le PHP !

Voici mon problème :
Lorsque je compose un message dans mon formulaire en PHP je le reçois avec des caractères incohérents. J'ai essayé d'utiliser les caractères spéciaux pour les accents et autres, cependant rien n'y fait, j'ai seulement d'autres formes incohérentes.

Voici un exemple de ce que j'obtiens dans les mails venant de ce formulaire :

Vous êtes : Un visiteur
Objet de votre message : Essai 8
Votre message : essai 8. Caractères incohérents dans le message.


Comment puis-je remédier à ce problème ? Sachant que la balise méta indique :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Pour infos je travaille avec Adobe Dreamweaver CS4. Et que dans les préférences de Dream il y a ceci :
  • Type de document par défaut (DTD) : XHTML 1.0 Transitional
  • Codage par défaut : Unicode UTF-8 et que concernant ce codage la case "Utiliser à l'ouverture de fichiers ne spécifiant pas de codage" est cochée.
  • Formulaire de normalisation Unicode : C (Décomposition canonique suivie d'une composition canonique)
  • Et que la case "Inclure une signature Unicode (Bom)" n'est pas coché


Merci pour votre aide...!

Cordialement,
Vitoutso
Aider son prochain c'est donner sans rien attendre en retour !
avatar de Tony_
Administrateur
# Le 08/09/2010 à 12h27
Bonjour.
Les problèmes d'encodage, c'est un vrai casse-tête.
Je n'ai jamais utilisé Adobe Dreamweaver CS4, mais comme tout éditeur il doit y avoir des paramètres pour le format des données. Si c'est possible, essaie de transformer ton document en UTF-8 (sans bom). Le "sans bom" est important, dernièrement ça m'a réparé un problème d'encodage.
€Si en faisant quelques essaie tu n'y arrive toujours pas, alors tu pourra essayer de passer en ISO-8859-1. Pour cela il faudra utiliser cette balise XHTML:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
Et il faudra également encode le fichier en ISO-8859-1.

J'espère que ça va t'aider.
Bon courage.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
avatar de Vitoutso
Membre
# Le 08/09/2010 à 14h07
Superbe Funnycat!
J'y suis arrivé avec l'encodage ISO-8859-1.

J'ai maintenant des caractères cohérents dans mes mails.
Merci bien !

Cordialement,

Vitoutso
Aider son prochain c'est donner sans rien attendre en retour !
avatar de stc
Membre
# Le 08/09/2010 à 19h38
Astuces pour ne pas être embêté avec les caractère spéciaux : mettre ce code tout en haut de la page :
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. ?>
  4. ou
  5. <?php
  6. header('Content-Type: text/html; charset=iso-8859-1');
  7. ?>

Selon l'encodage utilisé (mais je conseille quand même l'utf-8)
avatar de Tony_
Administrateur
# Le 08/09/2010 à 20h23
@Vitoutso: bonne nouvelle.
@stc: ah oui c'est intelligent, merci pour cette astuce.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.