Problème d'accents avec PHP

Fermé
kenzzzi Messages postés 6 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mars 2012 - Modifié par kenzzzi le 16/03/2012 à 16:09
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 - 16 mars 2012 à 18:34
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 41466 Date d'inscription mercredi 5 novembre 2003 Statut Modérateur Dernière intervention 5 avril 2024 4 131
16 mars 2012 à 16:01
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 vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mars 2012
16 mars 2012 à 16:06
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 41466 Date d'inscription mercredi 5 novembre 2003 Statut Modérateur Dernière intervention 5 avril 2024 4 131
Modifié par Pierrecastor le 16/03/2012 à 16:11
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 vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mars 2012
16 mars 2012 à 16:13
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 41466 Date d'inscription mercredi 5 novembre 2003 Statut Modérateur Dernière intervention 5 avril 2024 4 131
16 mars 2012 à 16:16
Pourquoi ne pas le faire en dure dans ton code ?
0
kenzzzi Messages postés 6 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mars 2012
16 mars 2012 à 16:18
Comment ça? Explique stp
0
Pierrecastor Messages postés 41466 Date d'inscription mercredi 5 novembre 2003 Statut Modérateur Dernière intervention 5 avril 2024 4 131
16 mars 2012 à 16:20
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 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 326
16 mars 2012 à 18:34
Bonsoir,

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