Problème d'accent dans le cors du message d'un formulaire

Fee
Eléphanteau du PHP | 28 Messages

24 août 2012, 23:06

Mon formulaire que vous voyez fait des ? au lieux des é seulement dans le message et non dans le titre ou c'est correct.

Merci de m'aider à trouvé la solution. J'ai essayé des commandes PHP qui n'a rien rien donnée...
<?php
session_start(); 
if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5) exit("Erreur! Error!");
if($_SESSION['code'] != $_POST['verif']) exit("Erreur les valeurs sont différentes! / Error values ??are different!");
$exp = $_POST['mail'];
$objet = stripslashes(utf8_decode($_POST['objet']));
$msg = stripslashes(utf8_decode($_POST['msg']));
$envoi=mail("[email protected]", $objet, $msg,"From: $exp\r\n"."Reply-To: $exp\r\n");if($envoi);
session_unset();
session_destroy();
header('Location: http://www.com');
exit;
?>

Mammouth du PHP | 2278 Messages

25 août 2012, 11:44

me transperce le corps du message

Ce sont des histoires de utf-8 à déclarer dans ce genre àmettre avant <?PHP pour avoir le paix
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Fee
Eléphanteau du PHP | 28 Messages

27 août 2012, 19:44

Dans ma page HTML c'est déja fait. Je rajouter quand même:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
         <meta http-equiv="content-type" content="text/html;charset=utf-8" />
 </head>
Dans le fichier script php ?

ViPHP
xTG
ViPHP | 7331 Messages

27 août 2012, 19:51

Sans envoyer l'email si tu affiches ce que tu reçois du formulaire qu'est ce qui s'affiche correctement ou non ?

Eléphant du PHP | 229 Messages

27 août 2012, 20:38

cor,
Pourquoi tu mets utf8_decode() ?
D'avance merci.

Fee
Eléphanteau du PHP | 28 Messages

28 août 2012, 04:42

XTG: Je ne reçois rien c'est un courriel donc il met simplement le texte. On m'a parler de peut-être que le problème viendrait du Textarea du formulaire.

Pour schim59, je le mets car cela corrige les problèmes d'accents pour les Objets (Titre) mais cela ne corrige pas le problème dans le Textarea mais au moins au lieu de A@ pour un É j'ai un ? à place pour le moment c'est plus lisible.

J'ai essayé cela mais à moins que j'ai fais un erreur entre Textarea <?php echo htmlentities($msg); ?> mais aye c'est 2 fois pire. Cela me donne pour un É tilde:copy; quelque chose comme cela.

ViPHP
xTG
ViPHP | 7331 Messages

28 août 2012, 06:41

En fait tu reçoit de l'utf8 sur une page en iso.
Donc là tu ferrais mieux de décoder ou bien de passer aussi cette page en utf8.
Jettes un oeil dans le forum faq/tutos il y a un sujet sur l'encodage.

Fee
Eléphanteau du PHP | 28 Messages

28 août 2012, 09:15

Moins je viens de voir que mon fichier PHP est en AINSI. Ce que je ne comprend pas, quand le met en UTF-8 cela me donne un message d'erreur de Header.

Cela reste pour les titres cela fonctionne mais le Textarea le decode ne fonctionne pas.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

28 août 2012, 09:25

Ce que je ne comprend pas, quand le met en UTF-8 cela me donne un message d'erreur de Header.
ça c'est du à UTF-8 avec BOM, ce que php ne comprend pas.

il faut choisir utf-8 (tout court) ou UTF-8 sans BOM :)


@+
Il en faut peu pour être heureux ......

Fee
Eléphanteau du PHP | 28 Messages

28 août 2012, 09:29

Moins j'en ai a apprendre. Cela fonctionne bien en local mais en ligne c'est autre chose oufff!

Eléphant du PHP | 229 Messages

28 août 2012, 10:02

Ahhhhhhh ca vient donc de l'editeur de text.
Moi j'utilise phpedit

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

28 août 2012, 10:06

Ahhhhhhh ca vient donc de l'editeur de texte.
oui ça peux, indiquer un header et un doctype ne suffise pas !
Moi j'utilise phpedit
sur le principe osef, le problème est le même avec notepad++, eclipse netbeans ou zend studio (et les 10000000000 autres que je ne connais pas :) ).

Le BOM n'est pas compris par php (et d'autre), il pense donc qu'il s'agit de chose à envoyer au navigateur => erreur au 1er header, session_start etc autre.

y a un tuto assez complet sur la chose dans la FAQ :)


@+
Il en faut peu pour être heureux ......