Page 1 sur 1

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

Posté : 08 sept. 2005, 01:22
par Invité
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 !


?>

Posté : 08 sept. 2005, 03:03
par alexbad
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

Posté : 08 sept. 2005, 12:06
par Invité
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

Posté : 08 sept. 2005, 13:40
par Invité
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]

Posté : 08 sept. 2005, 20:29
par Cyrano
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.

Posté : 09 sept. 2005, 00:06
par caledonien
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.

Posté : 09 sept. 2005, 05:49
par Invité
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 !


?>


Posté : 09 sept. 2005, 05:52
par Invité
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...:)

Posté : 09 sept. 2005, 05:55
par Invité
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é :(

Posté : 09 sept. 2005, 06:05
par JazzFinder
La proposition de Cyrano me semble la plus logique. L'as-tu essayé?

Posté : 09 sept. 2005, 06:13
par Invité
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 !


?>

Posté : 09 sept. 2005, 06:14
par Invité
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

Posté : 09 sept. 2005, 06:20
par Invité
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 ?

Posté : 09 sept. 2005, 08:52
par Cyrano
 @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é.

Posté : 09 sept. 2005, 14:36
par harlugophp
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