Les accents en php

jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 1 avril 2010 à 21:21
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 7 avril 2010 à 13:09
Bonsoir à tous,

Mon problème pourrait sembler ridicule aux pros que vous êtes tous.
Cela fait plusieurs centaines de sites web que j'ouvre...
Jamais je n'ai trouvé solution à mon souci.

Sous Dreamweaver, en utilisant PHP (routine "traitement.php"), je complète un formulaire "formulaire00.html".

Tout se tape correctement dans le formulaire... mais la réception du mail est rendue illisible par les lettres accentuées qui ont été remplacées par des codes bizarroïdes.

J'ai essayé plein de trucs avec utf-8, avec encode(, avec recode(... Rien n'y fait...

Comment faire ?
Grand merci d'avance pour votre aide.

jyd

6 réponses

nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010
2 avril 2010 à 15:48
Salut !

As-tu essayé htmlentities() ? Peut-être que ça peut fonctionner !

Sinon, si tu travailles avec Notepad++, passes ton encodage en utf-8 sans bom !

En espérant que ça puisse t'aider !!
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
2 avril 2010 à 16:39
Merci à toi.

Cette fonction de php n'y fait rien
Convertir le source en UTF-8, ne fait rien non plus.

A L'aide svp

jyd
pmtjnden Messages postés 14 Date d'inscription lundi 28 mars 2005 Statut Membre Dernière intervention 4 juillet 2011
6 avril 2010 à 16:07
Bonjour a tous,

Heu... je vais mettre mon grain de sel .... en espérant que ca aide...

dans le <head></head> de la page ....
on peut mettre un :

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

ça aide ;)

:) Phil
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
6 avril 2010 à 18:15
cela ne marche pas non plus...
A l'aide svp.

jyd

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
7 avril 2010 à 09:57
Salut,

C'est bien de demander de l'aide, mais sans fournir plus d'indications ça risque de ne pas être évident !
Il faut voir les choses de façon globale, toute la chaîne, depuis le formulaire jusqu'à l'envoi du mail, doit respecter le même encodage (ou effectuer les conversions au bon endroit)
Quel est le script ?
Quel est l'encodage de la page du formulaire ?
Celui des éventuels autres scripts de traitement ?
...


Cordialement,


Kohntark -
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
7 avril 2010 à 13:09
Salut,

Je ne voulais pas encombrer le message.
Je fournis le code PHP et le code HTML.
Merci d'avance à tous.

<?php
$date = date("D d/m/Y");
$heure = date("G:i:s");
$destinataire = "flvandoorne@skynet.be";
$objet = "Demande de Renseignements www.sitecreaprint.be";
$msg = "Envoyé par un(e) \t$RadioGroup1 \n";
$msg .= " \t$societe \n";
$msg .= " \t$nom $prenom \n";
$msg .= " \t$adresse \n";
$msg .= " \t$pays - $codepostal $localite \n\n";
$msg .= " \t$tel \n";
$msg .= " \t$email \n\n";
$msg .= " \t$concerne \n";
$msg .= " \t$message \n";
$entete = "From: sitecreaprint <> \n";
$entete .= "Reply-To: $destinataire \n\n";
$entete .= "Content-Type: text/plain; charset=\'UTF-8\' \n";
$entete .= "Content-Disposition: inline \n";
$entete .= "Content-Transfer-Encoding: 7bit \n";
$entete .= "MIME-Version: 1.0 \n";
$entete .= "Date: $date $heure \n";
mail($destinataire,utf8_encode($objet), utf8_encode($msg), $entete);
Header("Location: ../formulaire01.html");
?>

Voilà le HTML :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
...
</style>
<script language="JavaScript" src="Scripts/gen_validatorv31.js" type="text/javascript">
</script>
...
</head>






<form action="php/traitement.php" method="post" name="myform" id="formulaire">
Vous êtes*,
<label>
Professionnel</label>
<label>
Particulier</label>,
<label for="concerne">Concerne : </label>
<select name="concerne" id="concerne">
<option value="NC">Ordre général</option>
<option value="CRE">Création</option>
<option value="IMP">Impression </option>
<option value="WEB">Web Design</option>
</select>,

----

Société,
,
<label for="message5"></label>
<textarea name="message" id="message5"></textarea>,

----

Nom*,
,

----

Prénom,
,

----

Adresse,
,

----

Code Postal,
,

----

Localité*,
,

----

Pays*,
<select name="pays" id="pays">
<option value="BE" selected>Choisissez, svp !</option>
<option value="BE">Belgique</option>
<option value="FR">France</option>
<option value="CH">Suisse</option>
<option value="LU">Luxembourg</option>
<option value="NL">Pays-bas</option>
<option value="NC">Autre pays</option>
</select>,

----

Tél / Gsm*,
,
<label for="envoi"></label>

<label for="erase"></label>
,

----

E-mail*,



*Champs obligatoires
</form>

<script language="JavaScript" type="text/javascript">
var frmvalidator = new Validator("myform");
frmvalidator.EnableOnPageErrorDisplaySingleBox();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("message","req","Votre message est manquant !");
frmvalidator.addValidation("email","req","Votre email est manquant !");
frmvalidator.addValidation("email","email","Votre email n'est pas valide !");
frmvalidator.addValidation("tel","req","Votre téléphone est manquant !");
frmvalidator.addValidation("pays","dontselect=0","Votre pays est manquant !");
frmvalidator.addValidation("localite","req","Votre localité est manquante !");
frmvalidator.addValidation("nom","req","Votre nom est manquant !");
</script>





</html>




jyd
Rejoignez-nous