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   -
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
A voir également:

4 réponses

Pierrecastor Messages postés 41491 Date d'inscription   Statut Modérateur Dernière intervention   4 149
 
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
0
kenzzzi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Pierrecastor Messages postés 41491 Date d'inscription   Statut Modérateur Dernière intervention   4 149
 
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 :

Le numéro de téléphone ne doit contenir que des chiffres



Rhaaa, saleté d'interpréteur HTML :

https://pastebin.com/cbKtAXNY
0
kenzzzi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Pierrecastor Messages postés 41491 Date d'inscription   Statut Modérateur Dernière intervention   4 149
 
Pourquoi ne pas le faire en dure dans ton code ?
0
kenzzzi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Comment ça? Explique stp
0
Pierrecastor Messages postés 41491 Date d'inscription   Statut Modérateur Dernière intervention   4 149
 
Dans ton code PHP, tu remplace tout les caractères accentué par leur code HTML.

Tu peut le faire avec un rechercher / remplacer sur ton éditeur de texte (je sais pas sur quoi tu code.
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Bonsoir,

                              Doublon !
Merci de n'ouvrir qu'une discussion par sujet.
0