Les caractère comme é, è se transforme en des caractère é

fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention - 28 déc. 2017 à 23:55 - Dernière réponse : jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention
- 3 janv. 2018 à 13:52
Bonjour Tout est dans le titre Les caractère comme é, è se transforme en des caractère é sur mon script de dédicace
pourtant j'ai tout bien encoder en UTF-8 et pareil pour la base de données Voilà je vous remercie déjà de votre aide

comment fonctionne mon script pour commencer Le Visiteur envoie le message avec le formulaire suivant

voici les codes

Code du Formulaire

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
h1 {
	font-size: 5px;
	color: #333;
	text-align:center;
}
h2 {
	font-size: 2px;
	color: #69F;
	text-align:center;
}
h3 {
	font-size: 8px;
	color: #333;
}
p{
	display:inline;

}
.err
{
	color:#F00;
	font-weight: bolder;
}
.ok
{
	color:#0C3;
	font-weight: bolder;
}
.bouton{
background-color: #fff;
}

</style>
</head>


<center>
<?php
include ('configuration/config.php'); //A inserer sur chaques pages d'envoie et d'affichage des dédicaces
include ('configuration/envoi.php'); //A insérer seulement sur la page d'envoie des dédicaces
?>
<!--Formulaire d'envoie de la dédicace-->
	<form method="post" action="#">
    	<b style='color: DodgerBlue	;'><p>Pseudo</p><br /><input type="text" maxlength="9" name="pseudo_poster" <?php echo 'value="'.$pseudo_post.'"';?> /><br/><br/>
    	<p>Message</p><br /><textarea cols="20" rows="7" name="message_poster"><?php echo $message_post;?></textarea><br/><br/>
		<input class="bouton" type="submit" name="envoyer_dedi" value="Envoyer mon message" /><b style='color: DodgerBlue	;'><p>

	</form>
</center>


</body>
</html>


Code du système complet
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
// Si l'auditeur à cliquer sur envoyer
if (isset($_POST['envoyer_dedi']))
{
    $pseudo_post = mysql_real_escape_string($_POST['pseudo_poster']); //On récupère le pseudo
    $message_post = mysql_real_escape_string($_POST['message_poster']); // on récupère le message
     
    // Si l'auditeur n'a pas mis de pseudo
    if ($_POST['pseudo_poster']==null)
    {
        echo "<p class='err'>Vous n'avez pas renseigné de pseudo</p><br />";
    }
     
    // Si l'auditeur n'a pas mis de message
    else if ($_POST['message_poster']==null)
    {
        echo "<p class='err'>Vous n'avez pas renseigné de message</p><br />";
    }
      
    //Si l'auditeur à renseigner le pseudo + le message
    else if ($_POST['pseudo_poster']!=null && $_POST['message_poster']!=null)
    {
         
        // Si le pseudo est plus grand ou plus petit que les limites mis dans config.php
        if(strlen($pseudo_post) < $nombre_limiter_pseudo_mini  || strlen($pseudo_post) > $nombre_limiter_pseudo_maxi)
        {
            echo "<p class='err'>Votre pseudo doit être compris entre ".$nombre_limiter_pseudo_mini." et ".$nombre_limiter_pseudo_maxi." caractères</p><br />";
        }
         
        // Si le message est plus grand ou plus petit que les limites mis dans config.php
        else if(strlen($message_post) < $nombre_limiter_message_mini  || strlen($message_post) > $nombre_limiter_message_maxi)
        {
            echo "<p class='err'>Votre message doit être compris entre ".$nombre_limiter_message_mini." et ".$nombre_limiter_message_maxi." caractères</p><br />";
        }
         
        // Si il n'y a pas d'erreurs
        else
        {
            //On calcul de temps d'envoie entre l'ancienne dédicace (antiflood)
            $tempsrestant = time() - $_SESSION['time'];
            $tempsatt = $tempsantiflood-$tempsrestant;
             
            //Si le temps est inférieur à la limite d'antiflood du config.php
            if($_SESSION['time']!=null && $tempsrestant < $tempsantiflood)
            {
                echo "<p class='err'>Veuillez attendre ".$tempsatt." secondes <br />avant d'envoyer un nouveau message</p><br />";
            }
            //Si le temps est supérieur à la limite d'antiflood
            else
            {
                $ip = $_SERVER['REMOTE_ADDR']; // On récupère l'ip
                $date = 'le : '.date('d/m/Y').' a '.date('H:i').''; //On récupère la date
                 
                //On insère les infos dans la base MySql
                mysql_query("INSERT INTO message(pseudo, message, ip, date) VALUES('".$pseudo_post."', '".$message_post."', '".$ip."', '".$date."')")or die(mysql_error("Impossible d'envoyer les données dans la base de donnée!"));
                 
                //On met le message comme quoi la dédicace à bien été envoyé
                echo "<p class='ok'>Votre message à bien été envoyé !.</p><br />";
                 
                $_SESSION['time'] = time();//On récupère l'heure à la quel le message à été envoyé
                $pseudo_post = "";
                $message_post = "";
            }
        }
    }
}
?>


une fois que l'utilisateur envoyer le message il se trouve directement sur mon site grasse a se code

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<center>
<?php
include ('configuration/config.php'); //A inserer sur chaques pages d'envoie et d'affichage des dédicaces

?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Lire message - radio</title>
<style type="text/css">
h1 {
	font-size: 26px;
	color: #333;
	text-align:center;
}
h2 {
	font-size: 22px;
	color: #69F;
	text-align:center;
}
h3 {
	font-size: 18px;
	color: #333;
}
p{
	display:inline;
}
.titre {
	font-weight: bold;
	color: #69F;
}
.pseudo {
	font-weight: bold;
	color: #69F;
}
.dedicace {
	font-style: italic;
	margin-right: 30px;
}
.err
{
	color:#F00;
	font-weight: bolder;
}
.ok
{
	color:#0C3;
	font-weight: bolder;
}
</style>
</head>


</center>

<marquee width=1240 height=32 direction=left>
	<?php
    /*On cherche les 10 dernière dédicaces dans la base de donnée*/
    $retour_dedi = mysql_query('SELECT * FROM message ORDER BY id DESC limit 0,10')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'message'</b> "));
    
    while($donnes_dedi = mysql_fetch_array($retour_dedi))//On fais une boucle
    { 
        $pseudo_dedicace = htmlspecialchars($donnes_dedi['pseudo']); //On récupère le pseudo
        $message_dedicace = htmlspecialchars($donnes_dedi['message']); // On récupère la dédicace
        echo '<p class="pseudo">'.$pseudo_dedicace.'</p> <p class="dedicace">'.$message_dedicace.'</p>'; //On affiche la dédicace
    }
    ?>
</marquee>
<br /><br /><br />


Mais comme je le dis dans mon titre Les caractère comme é, è se transforme en des caractère é

et ça fait également la même chose pour la page Administration

Code page admin

<?php
header( 'content-type: text/html; charset=utf-8' );

session_start();
if(!isset($_SESSION['pseudo'])) {
	header('Location: ../index.php');
	exit;
}

require("../../configuration/config.php");
 ?>
<!DOCTYPE html>
<html lang="fr">
  <head>
      <script type="text/javascript" src="../../js/tinymce/tinymce.min.js"></script>
	<script>
		tinymce.init({
			selector: "textarea#elm1",
			theme: "modern",
			height: 300,
			menubar : false,
			plugins: [
				 "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
				 "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
				 "save table contextmenu directionality emoticons template paste textcolor"
		   ],
		   toolbar: "insertfile undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | l      ink image | media fullpage | forecolor backcolor", 
		 }); 
	</script>
    <meta charset="utf-8">
    <title><?php echo $nom_site; ?> - Panel d'administration</title>
    <style type="text/css">
      body {
        padding-top: 60px;
        padding-bottom: 40px;
      }
      .sidebar-nav {
        padding: 9px 0;
      }
      @media (max-width: 980px) {
        /* Enable use of floated navbar text */
        .navbar-text.pull-right {
          float: none;
          padding-left: 5px;
          padding-right: 5px;
        }
      }
    </style>
	<link rel="stylesheet" href="../css/bootstrap.css">
	<link rel="stylesheet" href="../style.css">
  </head>
  <body>
<center><img src="../images/logo.gif"></center><br>
<center><h1><font color="#696969">Administration</font></h1></center>
<br><br>
    <div class="container-fluid">
      <div class="row-fluid">
        <div class="span3">
          <div class="well sidebar-nav">
            <ul class="nav nav-list">
<?php include('menu.php') ?>
            </ul>
          </div>
        </div>
        <div class="span9">
		<?php if($_GET["action"]=="suppr" AND !empty($_GET["id"])) {
			$req = $bdd->prepare('DELETE FROM message WHERE id="'.$_GET["id"].'"');
			$req->closeCursor();
			$req->execute();
			header("Location: ?m=1"); }
			
		if($_GET["action"]=="supprimer" AND !empty($_GET["id"])) {
		$reponse = $bdd->query('SELECT pseudo FROM message WHERE id="'.$_GET[id].'"');
		while ($donnees = $reponse->fetch()) { ?>
		<div class="alert alert-error">
			<h4>Attention !</h4>
		Vous voulez vraiment supprimer le message de "<?php echo($donnees["pseudo"]); ?>" ?<br>
			<input type="button" class="btn btn-success" onclick="document.location.href='?action=suppr&id=<?php echo $_GET['id']; ?>'" value="Oui">
		<input type="button" class="btn btn-danger" onclick="document.location.href='messages.php'" value="Non">
		</div>
		<?php } }
		if($_GET[m]=="1") {
			echo('<center><div class="alert alert-success" style="width:750px;"><center>Le Message a bien été supprimé !</center></div></center>');
		} if($_GET[m]=="2") {
			echo('<center><div class="alert alert-success" style="width:750px;"><center>Le Message a bien été modifié !</center></div></center>');
		}
		?>
          <div class="hero-unit">
			<table class="table table-bordered">
			<thead>
			<tr>
				<th style="text-align:center;">Pseudo</th>
				<th style="text-align:center;">Message</th>
				<th style="text-align:center;">Date</th>
				<th style="text-align:center;">IP</th>
				<th style="text-align:center;">Actions</th>
			</tr>
			</thead>
			<tbody>
			<?php
			$reponse = $bdd->query('SELECT * FROM message ORDER by id desc');
			while ($donnees = $reponse->fetch())
			{
			?>
			<tr>
			<td width="35%"><?php echo $donnees["pseudo"]; ?></td>
			<td width="35%"><?php echo $donnees["message"]; ?></td>
			<td width="35%"><?php echo $donnees["date"]; ?></td>
			<td width="35%"><?php echo $donnees["ip"]; ?></td>
			<td width="26%"><center> <input type="button" class="btn btn-danger" onclick="document.location.href='?action=supprimer&id=<?php echo $donnees['id']; ?>'" value="Supprimer"></center></td>
			</tr>
			<?php
			}
			$reponse->closeCursor();
			?></tbody>
			</table>
          </div>
        </div>
      </div>

    </div>
  </body>
</html>
Afficher la suite 

Votre réponse

18 réponses

KX 15739 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 29 déc. 2017 à 00:58
0
Merci
Bonjour,

Tu déclares dans ton code que le fichier utilise un charset=utf-8, mais est-ce que le fichier est bien enregistré avec cet encodage ?

Exemple, avec le Bloc-notes Windows :
fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention - 29 déc. 2017 à 17:41
Bonjour je vien de vérifier oui tous e enregistré en UTF-8
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention > fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention - 29 déc. 2017 à 20:29
As tu vérifier tout y compris la bdd ? (comme indiqué dans ma réponse précédente.. : http://codes-sources.commentcamarche.net/forum/affich-10081990-les-caractere-comme-e-e-se-transforme-en-des-caractere-a-c#2 )
fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention > jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 29 déc. 2017 à 23:23
Oui tous et vérifier mes les text arrive déjà déformé sur ma BDD
et pour mysqli mon hébergeur ne les prent pas en charge
Commenter la réponse de KX
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 29 déc. 2017 à 07:59
Commenter la réponse de jordane45
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 29 déc. 2017 à 20:30
0
Merci
De plus...
- Attention, l'extension mysql était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0.
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

À la place, tu peux (<gras DOIS </gras> ) utiliser l'extension MySQLi ou l'extension PDO_MySQL
http://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

Si tu choisis PDO, pense à activer la gestion des erreurs : http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs .

Et quelque soit la méthode choisie.. il faut aussi déclarer l'encodage dans la connexion à la bdd.

Commenter la réponse de jordane45
fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention - Modifié par fred-xhaflaire le 29/12/2017 à 23:18
0
Merci
Oui tous et vérifier mes les text arrive déjà déformé sur ma BDD
et pour mysqli mon hébergeur ne les prent pas en charge
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 2 janv. 2018 à 07:21
Il ne suffit pas de mettre un i ...
Va voir ici :
tutos
fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention > jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 2 janv. 2018 à 13:31
Voila jet suivi le tuto mes pas avec le convertiseur
mes jet dus fait une erreur
<?php


$mysqli = new mysqli("host696235.onetsolutions.network", "radiobe2", "16Qif4o4Ni", "radiobe2_site") or die ("couldn't connect to the database!");

// Connexion à la base de données en mysqli_ (qui nous servira juste à deux choses)
$server = 'host696235.onetsolutions.network';
$user = 'radiobe2';
$passw = '16Qif4o4Ni';
$db = 'radiobe2_site';

/*Variables pour le systeme de dédicace*/
$nombre_limiter_pseudo_mini = '3'; //nombre minimum de caractere pour le pseudo
$nombre_limiter_pseudo_maxi = '103'; //nombre maximum de caractere pour le pseudo
 
$nombre_limiter_message_mini = '2'; //nombre minimum de caractere pour le message
$nombre_limiter_message_maxi = '40000'; //nombre maximum de caractere pour le message

$tempsantiflood = '30'; //Nombre de secondes entre chaque message pour l'antiflood

$connection = mysql_connect($server, $user, $passw) 
or die ("Impossible de se connecter à la bdd avec mysql_" . mysql_error ());
mysql_select_db($db) 
or die ("Impossible de sélectionner la bdd avec mysql_" . mysql_error ());

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//Informations du site
$nom_site = 'RadioBestSounds';
$mail_createur = 'contact@radiobestsounds.be';

// réseaux sociaux 
$facebook = 'https://www.facebook.com/radiobestsounds';

//on fait appel au fichier select.php
require('select.php');
?>
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 2 janv. 2018 à 14:07
Si tu es passé en mysqli ..... que viennent faire ces lignes ici ?

$connection = mysql_connect($server, $user, $passw) 
or die ("Impossible de se connecter à la bdd avec mysql_" . mysql_error ());
mysql_select_db($db) 
or die ("Impossible de sélectionner la bdd avec mysql_" . mysql_error ());


De plus .. attention ....
en mysqli il existe deux façons de coder ... en mode "objet" et en style "procédural".
Le
$mysqli = new mysqli("host696235.onetsolutions.network", "radiobe2", "16Qif4o4Ni", "radiobe2_site") or die ("couldn't connect to the database!");

c'est le style "objet".
Toi ... vaudrait mieux que tu utilises le style procédural
http://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?> 

Tu noteras qu'on utilise plus les OR DIE .... mais qu'à la place on regardera si il y a une erreur avec
mysqli_connect_errno()
fred-xhaflaire 11 Messages postés jeudi 7 décembre 2017Date d'inscription 3 janvier 2018 Dernière intervention > jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 3 janv. 2018 à 13:12
Oui Don que avec sa jet réussis a modifier mon fichier Config.php
Mes plus rien ne fonctionne correctement je me suit perdu totalement il me faudrait une explication via Skype sa m'aiderai mieux
jordane45 22579 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 septembre 2018 Dernière intervention - 3 janv. 2018 à 13:52
Bonjour
non ..nous ne ferons pas de Skype
merci de poster ton code directement sur le forum.
de plus merci d'écrire correctement en français..
Commenter la réponse de fred-xhaflaire

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.