Problème d'accents avec PHP
Fermé
kenzzzi
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Chris 94 Messages postés 54087 Date d'inscription Statut Modérateur Dernière intervention -
Chris 94 Messages postés 54087 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à vous tous,
J'ai un souci avec un script PHP! Lors de la récupération d'infos, dans le message, les lettres avec accent sont transformées. Faut savoir que je débute en PHP et que je n'ai pas vraiment de références :
Voici le script :
<?php
define("WEBMASTER_EMAIL", 'moi@host.com');
error_reporting (E_ALL ^ E_NOTICE);
function ValidateEmail($email)
{
$regex = '/([a-z0-9_.-]+)'.
'@'.
'([a-z0-9.-]+){2,255}'.
'.'.
'([a-z]+){2,10}/i';
if($email == '')
return false;
else
$eregi = preg_replace($regex, '', $email);
return empty($eregi) ? true : false;
}
$post = (!empty($_POST)) ? true : false;
if($post)
{
$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);
$error = '';
if(!$name || $name == "Name*")
$error .= 'Veuillez indiquer votre nom.<br />';
if(!$email || $email == "Email*")
$error .= 'Veuillez indiquer votre adresse email.<br />';
if($email && !ValidateEmail($email))
$error .= 'Adresse email invalide.<br />';
if(!$message)
$error .= "Veuillez entrer un message avant de poster.<br />";
if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."X-Mailer: PHP/" . phpversion());
if($mail)
echo 'OK';
}
else
echo '<div class="formstatuserror">'.$error.'</div>';
}
?>
Quelqu'un peut m'aider à corriger ça svp! Merci d'avance
J'ai un souci avec un script PHP! Lors de la récupération d'infos, dans le message, les lettres avec accent sont transformées. Faut savoir que je débute en PHP et que je n'ai pas vraiment de références :
Voici le script :
<?php
define("WEBMASTER_EMAIL", 'moi@host.com');
error_reporting (E_ALL ^ E_NOTICE);
function ValidateEmail($email)
{
$regex = '/([a-z0-9_.-]+)'.
'@'.
'([a-z0-9.-]+){2,255}'.
'.'.
'([a-z]+){2,10}/i';
if($email == '')
return false;
else
$eregi = preg_replace($regex, '', $email);
return empty($eregi) ? true : false;
}
$post = (!empty($_POST)) ? true : false;
if($post)
{
$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);
$error = '';
if(!$name || $name == "Name*")
$error .= 'Veuillez indiquer votre nom.<br />';
if(!$email || $email == "Email*")
$error .= 'Veuillez indiquer votre adresse email.<br />';
if($email && !ValidateEmail($email))
$error .= 'Adresse email invalide.<br />';
if(!$message)
$error .= "Veuillez entrer un message avant de poster.<br />";
if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."X-Mailer: PHP/" . phpversion());
if($mail)
echo 'OK';
}
else
echo '<div class="formstatuserror">'.$error.'</div>';
}
?>
Quelqu'un peut m'aider à corriger ça svp! Merci d'avance
A voir également:
- Problème d'accents avec PHP
- Easy php - Télécharger - Divers Web & Internet
- E avec accent minuscule - Guide
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Comment faire les accents sur le clavier - Forum Clavier
4 réponses
Salut
Problème d'encodage (souvent etre UTF8 et ASCII)
Remplace tes caractère accentuer par leur code HTML :
https://www.commentcamarche.net/contents/489-caracteres-speciaux-html
Problème d'encodage (souvent etre UTF8 et ASCII)
Remplace tes caractère accentuer par leur code HTML :
https://www.commentcamarche.net/contents/489-caracteres-speciaux-html
Salut Pierrecastor;
Non non, c'est plutôt au moment de récupérer les informations. Quand je reçois le mail, dans la partie $message, les lettres accentués sont transformées... Mais merci de ta réponse
Non non, c'est plutôt au moment de récupérer les informations. Quand je reçois le mail, dans la partie $message, les lettres accentués sont transformées... Mais merci de ta réponse
Ca n'empêche pas que c'est un problème d'encodage de caractères et que tu devrait essayer de remplacer tes caractères accentué.
Exemple :
Le numéro de téléphone ne doit contenir que des chiffres
En :
Rhaaa, saleté d'interpréteur HTML :
https://pastebin.com/cbKtAXNY
Exemple :
Le numéro de téléphone ne doit contenir que des chiffres
En :
Le numéro de téléphone ne doit contenir que des chiffres
Rhaaa, saleté d'interpréteur HTML :
https://pastebin.com/cbKtAXNY
Oui, oui ça je sais! C'était juste une erreur dans ma part! Au fait, je pense que le problème est dans cette partie du script :
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."X-Mailer: PHP/" . phpversion());
Je cherche une fonction, ou autre qui encode les accents au moment de l'envoi
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."X-Mailer: PHP/" . phpversion());
Je cherche une fonction, ou autre qui encode les accents au moment de l'envoi