Les accents en php

Signaler
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014
-
jytest
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014
-
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

Messages postés
59
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
2 avril 2010

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 !!
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014

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
Messages postés
14
Date d'inscription
lundi 28 mars 2005
Statut
Membre
Dernière intervention
4 juillet 2011

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
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014

cela ne marche pas non plus...
A l'aide svp.

jyd
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
23
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 -
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014

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