Accent en français recu à l aide d un formulaire simple

Invité
Invité n'ayant pas de compte PHPfrance

08 sept. 2005, 01:22

J'ai un formulaire simple que j'envoie vers un script PHP qui envoie les accent vers mon courriel de manière incorrecte comment je peux résoudre le problème simplement je ne suis pas un expert PHP voici le script:

<?php
## -- --------- START OF CONFIG SECTION --------- ##
## STEP ONE: Change the info below to your details

$SendToEmail = "[email protected]";                  ## Your Email Address
$YourWebsiteURL = "http://www.test.ca/";   ## Your Website URL 
$YourName = "test";                       ## Your Name or Company Name
$yoursubject = "Formulaire de rapport du $date $datee $dateee" ;         ## The Email Subject Line
$ThankyouURL = "merci.htm";                    ##  Send them here after they have filled in the form

## STEP TWO: Change details below for the email footer of the confirmation email.
$EmailFooter = "
Merci,

L'équipe de test
Web: http://www.test.ca/";

## ---------- END OF CONFIG SECTION ------------- ##

## If they call this page direct from the browser, send them away because they havent filled in the form!
if(!isset($email)) {
 header("location: $YourWebsiteURL");     ## Redirect them to your websites front page
 exit();
}

## Send the Email to you ....
 $yoursubject = "$yoursubject";
 $emailtext = "
-----------------------------------------------------------------------------
   ".$yoursubject."
-----------------------------------------------------------------------------

".$prenom." ".$nom." a envoyé son rapport du: ".$date." ".$datee." ".$dateee."

1-Prénom du Rep:  || ".$prenom."
-----------------------------------------------------------------------------
2-Nom du Rep:  || ".$nom."
-----------------------------------------------------------------------------
3-Date travaillée: || ".$date." ".$datee." ".$dateee."
-----------------------------------------------------------------------------
4-Endroit de la démo: || ".$endroitdemo."
-----------------------------------------------------------------------------
5-Courriel: || ".$email."
-----------------------------------------------------------------------------
6-Heures travaillées:  || ".$heure." ".$heuree." à ".$heureee." ".$heureeee."
-----------------------------------------------------------------------------
7-Total en minutes pour les pauses: || ".$pause."
-----------------------------------------------------------------------------
8-Y avait-il un employé du magasin de l'Université ou la avec vous? si oui son nom : || ".$employe."
-----------------------------------------------------------------------------
9-Qui est la personne contact ou la personne responsable dans ce magasin (Nom et téléphone): || ".$contact."
-----------------------------------------------------------------------------
10-Nombre de démos présentées: || ".$nombredemo."
-----------------------------------------------------------------------------
11-Nombre de professeurs vus: || ".$nombreprof."
-----------------------------------------------------------------------------
12-Nombre d'étudiants vus: || ".$nombreetudiant."
-----------------------------------------------------------------------------
13-Quel type de démos : || ".$type."
-----------------------------------------------------------------------------
14-Quels produits  génère le plus d'intérêt: || ".$interet."
-----------------------------------------------------------------------------
15-Pamphlets donnés sur les produits ou promotions : || ".$pamphlet."
-----------------------------------------------------------------------------
16-Ce qui intéresse le plus les gens dans les démonstrations: || ".$lesgens."
-----------------------------------------------------------------------------
17-Description de l'évènement (kiosque, magasin ou autres): || ".$description."
-----------------------------------------------------------------------------
18-Emplacement du kiosque ou tente (orientation, concept et situation): || ".$emplacement."
-----------------------------------------------------------------------------
19-Informations ou suggestions utiles: || ".$suggestion."
-----------------------------------------------------------------------------
20-Succès de la journée, évènement digne de mention: || ".$succes."
-----------------------------------------------------------------------------
21-Les ventes générées par les démos: || ".$vente."
-----------------------------------------------------------------------------
22-Les ventes générées par vos conseils: || ".$venteconseil."
-----------------------------------------------------------------------------

Merci,

".$YourName." 
".$YourWebsiteURL."
";
	$yoursubject = stripslashes($yoursubject);
    $emailtext = stripslashes($emailtext);
 @mail("$SendToEmail", $yoursubject, $emailtext, "From: $email"); ## Email Sent

## Now lets send a thankyou email to the sender
 $emailsubject = "Re: ".$yoursubject."";
 $autoemail = "
-----------------------------------------------------------------------------
   Re: ".$yoursubject."
-----------------------------------------------------------------------------

Merci ".$prenom." ".$nom."  Pour le rapport du: ".$date." ".$datee." ".$dateee."
Voici une copie de votre rapport de la journée

1-Prénom du Rep:  || ".$prenom."
-----------------------------------------------------------------------------
2-Nom du Rep:  || ".$nom."
-----------------------------------------------------------------------------
3-Date travaillée: || ".$date." ".$datee." ".$dateee."
-----------------------------------------------------------------------------
4-Endroit de la démo: || ".$endroitdemo."
-----------------------------------------------------------------------------
5-Courriel: || ".$email."
-----------------------------------------------------------------------------
6-Heures travaillées:  || ".$heure." ".$heuree." à ".$heureee." ".$heureeee."
-----------------------------------------------------------------------------
7-Total en minutes pour les pauses: || ".$pause."
-----------------------------------------------------------------------------
8-Y avait-il un employé du magasin de l'Université ou la  avec vous? si oui son nom : || ".$employe."
-----------------------------------------------------------------------------
9-Qui est la personne contact ou la personne responsable dans ce magasin (Nom et téléphone): || ".$contact."
-----------------------------------------------------------------------------
10-Nombre de démos présentées: || ".$nombredemo."
-----------------------------------------------------------------------------
11-Nombre de professeurs vus: || ".$nombreprof."
-----------------------------------------------------------------------------
12-Nombre d'étudiants vus: || ".$nombreetudiant."
-----------------------------------------------------------------------------
13-Quel type de démos : || ".$type."
-----------------------------------------------------------------------------
14-Quels produits génère le plus d'intérêt: || ".$interet."
-----------------------------------------------------------------------------
15-Pamphlets donnés sur les produits ou promotions : || ".$pamphlet."
-----------------------------------------------------------------------------
16-Ce qui intéresse le plus les gens dans les démonstrations: || ".$lesgens."
-----------------------------------------------------------------------------
17-Description de l'évènement (kiosque, magasin ou autres): || ".$description."
-----------------------------------------------------------------------------
18-Emplacement du kiosque ou tente (orientation, concept et situation): || ".$emplacement."
-----------------------------------------------------------------------------
19-Informations ou suggestions utiles: || ".$suggestion."
-----------------------------------------------------------------------------
20-Succès de la journée, évènement digne de mention: || ".$succes."
-----------------------------------------------------------------------------
21-Les ventes générées par les démos: || ".$vente."
-----------------------------------------------------------------------------
22-Les ventes générées par vos conseils: || ".$venteconseil."
-----------------------------------------------------------------------------
".$EmailFooter."
";
	$yoursubject = stripslashes($yoursubject);
    $autoemail = stripslashes($autoemail);
 @mail($email, $emailsubject, $autoemail, "From: $SendToEmail  "); ## Email Sent

## The emails have both been sent, so we should now send the user to a confirmation page
 header("Location: $ThankyouURL"); ## Don't change this, change the $ThankyouURL at the top!
 exit;
## That's it !


?>

ViPHP
ViPHP | 649 Messages

08 sept. 2005, 03:03

Pour les accentes, utilise toujours les caractères spéciaux. Par exemple, un "é" devient é et un "è" devient è
tu peux tous les trouver à : http://www.commentcamarche.net/html/htmlcarac.php3

[-X Toujours les caractères spéciaux, même dans le html
Image

Invité
Invité n'ayant pas de compte PHPfrance

08 sept. 2005, 12:06

Bonjour Alez merci pour ce liens mais ce n'est pas exactement ce que je recherche.

En fait le formulaire envoie un mail avec les questions mais les réponses recus avec les caractères accentuées sont innadéquats, je veux que les réponses soient avec les accents.

D'ou est le problèmes dans la page HTML ou dans le acript PHP et comment concrètement régler le problèmes?

Merci de me guider

Invité
Invité n'ayant pas de compte PHPfrance

08 sept. 2005, 13:40

voici ce que je recois comme mail:



-----------------------------------------------------------------------------
Re: Formulaire de rapport du Date Mois Année
-----------------------------------------------------------------------------

Merci télévision télévision Pour le rapport du: Date Mois Année
Voici une copie de votre rapport de la journée

1-Prénom du Rep: || télévision
-----------------------------------------------------------------------------
2-Nom du Rep: || télévision
-----------------------------------------------------------------------------
3-Date travaillée: || Date Mois Année

[/quote]

Mammouth du PHP | 19672 Messages

08 sept. 2005, 20:29

Ajoute un header dans tes paramètres de mail() du type:
$header = "Content-Type: text/html; charset=\"iso-8859-1\"\n";
Ce que tu reçois est de l'iso-8859-1 mais affiché en utf-8 : si tu ouvres ton message avec ton client de courriel, vas dans affichage>encodage et vérifie; tu devrais voir utf-8 sélectionné: sélectionne à la place latin 1 ou iso-8859-1 selon ce que tu vois et observe le résultat.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 24 Messages

09 sept. 2005, 00:06

Si vraiment tu trouves pas, utilise une fonction pour remplacer les é par des

Code : Tout sélectionner

é = &eacute: è = &egrave;
Avec la function : str_replace

Demande moi si tu n'y arrive pas.

Invité
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 05:49

J'ai fait des modification mais sans succès je dois manquer quelques choses, j'ai tenté de jouer avec le mail dans les préférence avec le encoding mais je n'arrive pas a voir les accents , voici mon nouveau code:
<?php
## -- --------- START OF CONFIG SECTION --------- ##
## STEP ONE: Change the info below to your details
$header = "Content-Type: text/html; charset=\"iso-8859-1\"\n"; 
$SendToEmail = "[email protected]";                  ## Your Email Address
$YourWebsiteURL = "http://www.test.ca/";   ## Your Website URL 
$YourName = "test";                       ## Your Name or Company Name
$yoursubject = "Formulaire de rapport du $date $datee $dateee" ;         ## The Email Subject Line
$ThankyouURL = "merci.htm";                    ##  Send them here after they have filled in the form

## STEP TWO: Change details below for the email footer of the confirmation email.
$EmailFooter = "
Merci,

L'équipe de test
Web: http://www.test.ca/";

## ---------- END OF CONFIG SECTION ------------- ##

## If they call this page direct from the browser, send them away because they havent filled in the form!
if(!isset($email)) {
 header("location: $YourWebsiteURL");     ## Redirect them to your websites front page
 exit();
}

## Send the Email to you ....
 $yoursubject = "$yoursubject";
 $emailtext = "
-----------------------------------------------------------------------------
   ".$yoursubject."
-----------------------------------------------------------------------------

".$prenom." ".$nom." a envoyé son rapport du: ".$date." ".$datee." ".$dateee."

1-Prénom du Rep:  || ".$prenom."
-----------------------------------------------------------------------------
2-Nom du Rep:  || ".$nom."
-----------------------------------------------------------------------------


Merci,

".$YourName." 
".$YourWebsiteURL."
";
	$yoursubject = stripslashes($yoursubject);
    $emailtext = stripslashes($emailtext);
 @mail("$SendToEmail", $yoursubject, $emailtext, "From: $email",$header ); ## Email Sent

## Now lets send a thankyou email to the sender
 $emailsubject = "Re: ".$yoursubject."";
 $autoemail = "
-----------------------------------------------------------------------------
   Re: ".$yoursubject."
-----------------------------------------------------------------------------

Merci ".$prenom." ".$nom."  Pour le rapport du: ".$date." ".$datee." ".$dateee."
Voici une copie de votre rapport de la journée

1-Prénom du Rep:  || ".$prenom."
-----------------------------------------------------------------------------
2-Nom du Rep:  || ".$nom."
-----------------------------------------------------------------------------

".$EmailFooter."
";
	$yoursubject = stripslashes($yoursubject);
    $autoemail = stripslashes($autoemail);
 @mail($email, $emailsubject, $autoemail, "From: $SendToEmail  "); ## Email Sent

## The emails have both been sent, so we should now send the user to a confirmation page
 header("Location: $ThankyouURL"); ## Don't change this, change the $ThankyouURL at the top!
 exit;
## That's it !


?>


Invité
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 05:52

C'est bizarre ca semble un encoding différent lorsque je recois les réponses regarde:


-----------------------------------------------------------------------------
Re: Formulaire de rapport du Date Mois Année
-----------------------------------------------------------------------------

Merci télévision télévision Pour le rapport du: Date Mois Année
Voici une copie de votre rapport de la journée

1-Prénom du Rep: || télévision
-----------------------------------------------------------------------------
2-Nom du Rep: || télévision
télévision au lieu de télévision ca semble pas mal bizarre as-tu une idée du type de encoding

Merci de me guider...:)

Invité
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 05:55

Je me demande de plus en plus d'ou viens le problèeme: le PHP, Le formualire HTML ou le serveur avec PHP.ini vous avez une idée je suis complètement dépassé :(

Eléphant du PHP | 417 Messages

09 sept. 2005, 06:05

La proposition de Cyrano me semble la plus logique. L'as-tu essayé?

Invité
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 06:13

Oui Jazzfinder dans le script un peu plus haut j'ai mis:

$SendToEmail = "[email protected]"; ## Your Email Address

et environ dans le millieu

@mail("$SendToEmail", $yoursubject, $emailtext, "From: $email",$header ); ## Email Sent

et ca donne toujours le même résultat:

Merci d'avoir répondu je pense qu'il a pas tord à moins que j'ai mal mis les choses dans le PHP

revoici le code: :roll:

regardé les ICI--------> dans le code
<?php
## -- --------- START OF CONFIG SECTION --------- ##
## STEP ONE: Change the info below to your details
ICI-------->$header = "Content-Type: text/html; charset=\"iso-8859-1\"\n"; 
$SendToEmail = "[email protected]";                  ## Your Email Address
$YourWebsiteURL = "http://www.test.ca/";   ## Your Website URL 
$YourName = "test";                       ## Your Name or Company Name
$yoursubject = "Formulaire de rapport du $date $datee $dateee" ;         ## The Email Subject Line
$ThankyouURL = "merci.htm";                    ##  Send them here after they have filled in the form

## STEP TWO: Change details below for the email footer of the confirmation email.
$EmailFooter = "
Merci,

L'équipe de test
Web: http://www.test.ca/";

## ---------- END OF CONFIG SECTION ------------- ##

## If they call this page direct from the browser, send them away because they havent filled in the form!
if(!isset($email)) {
 header("location: $YourWebsiteURL");     ## Redirect them to your websites front page
 exit();
}

## Send the Email to you ....
 $yoursubject = "$yoursubject";
 $emailtext = "
-----------------------------------------------------------------------------
   ".$yoursubject."
-----------------------------------------------------------------------------

".$prenom." ".$nom." a envoyé son rapport du: ".$date." ".$datee." ".$dateee."

1-Prénom du Rep:  || ".$prenom."
-----------------------------------------------------------------------------
2-Nom du Rep:  || ".$nom."
-----------------------------------------------------------------------------


Merci,

".$YourName." 
".$YourWebsiteURL."
";
	$yoursubject = stripslashes($yoursubject);
    $emailtext = stripslashes($emailtext);
 ICI-------->@mail("$SendToEmail", $yoursubject, $emailtext, "From: $email",$header ); ## Email Sent

## Now lets send a thankyou email to the sender
 $emailsubject = "Re: ".$yoursubject."";
 $autoemail = "
-----------------------------------------------------------------------------
   Re: ".$yoursubject."
-----------------------------------------------------------------------------

Merci ".$prenom." ".$nom."  Pour le rapport du: ".$date." ".$datee." ".$dateee."
Voici une copie de votre rapport de la journée

1-Prénom du Rep:  || ".$prenom."
-----------------------------------------------------------------------------
2-Nom du Rep:  || ".$nom."
-----------------------------------------------------------------------------

".$EmailFooter."
";
	$yoursubject = stripslashes($yoursubject);
    $autoemail = stripslashes($autoemail);
 @mail($email, $emailsubject, $autoemail, "From: $SendToEmail  "); ## Email Sent

## The emails have both been sent, so we should now send the user to a confirmation page
 header("Location: $ThankyouURL"); ## Don't change this, change the $ThankyouURL at the top!
 exit;
## That's it !


?>

Invité
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 06:14

Oups je veux dire j'ai mis:

$header = "Content-Type: text/html; charset=\"iso-8859-1\"\n";

et

@mail("$SendToEmail", $yoursubject, $emailtext, "From: $email",$header ); ## Email Sent

Invité
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 06:20

quelqu'un m'a déjà dit d'écrire :

Code : Tout sélectionner

@mail($email, $emailsubject, $autoemail, "From: $SendToEmail \r\n Content-Type: text/plain, charset=\"utf-8\""); ## Email Sent
à la place de

Code : Tout sélectionner

@mail($email, $emailsubject, $autoemail, "From: $SendToEmail "); ## Email Sent
à votre avis ?

Mammouth du PHP | 19672 Messages

09 sept. 2005, 08:52

 @mail($email, $emailsubject, $autoemail, "From: $SendToEmail  "); ## Email Sent
Où est le header dans ce bout de code ? Je ne le vois pas et il n'est probablement pas envoyé : vérifie la source du message reçu pour vérifier dans les en-têtes sir l'encodage est précisé.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 1 Messages

09 sept. 2005, 14:36

Allo Cyrano dans l'en tête de message je ne vois pas le type d'encodage précisé je ne sais vraiment pas comment procédé pour le faire.

Je suis prêt à payer pour régler ce code, j'ai passé trop de temps la dessus et je ne suis pas un expert à temps pleins du PHP.

Si ça t intéresse j'ai mis en ligne les trois fichiers, le formulaire HTML le PHP et la page merci du script que l'on peut trouver ici:

http://www.macdemo.ca/files.zip

Tiens-moi au courant.

Merci de m'avoir aidé jusqu'à maintenant