Problème de lecture d'accents en PHP

Résolu
Bonjour,

Mon problème est que mon PHP ne reconnait pas les accents. Quand je mets un accent dans une news (système présent sur mon site) il ne le rentre pas dans la base de données.
Voici mon code :

<?php
ob_start();
session_start();
include("includes/init.php");
if ($_SESSION['groupe'] == 4)
{
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta name="generator" content="HTML Tidy for Linux (vers 6 November 2007), see www.w3.org" />
<title>Hyperfield | Rediger une news</title>
<meta name="author" content="Hyperbidule" />
<meta name="description" content="Le site du célèbre serveur Minecraft Hyperfield" />
<meta name="copyright" content="Lightcolors Games Studios" />
<link rel="stylesheet" type="text/css" href="includes/style.css" />
<link rel="stylesheet" type="text/css" href="includes/menu/css/style.css" />
<link rel="shortcut icon" type="image/x-icon" href="includes/images/favicon.ico" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="includes/menu/js/global.js"></script>
</head>
<body>

<?php include("includes/connexion.php")?>
<?php include("includes/entete.php"); ?>
<?php include("includes/menu.php"); ?>

<div id="centrage">
<?php include ("includes/infos.php"); ?>
<div id="news">
<form method="post" action="newsok.php">
<p>Rédigez votre news ci-dessous :</p><br/>
Titre :<br /><input name="titre" id="commentaire" required /><br/> <!-- id="commentaire" pour style css -->
News :</br>
<textarea name="news" id="commentaire" rows="8" cols="80" required autofocus></textarea><br/> <!-- id="commentaire" pour style css -->
<input type="submit" value="Envoyer" />
</form>
</div>
<?php include("includes/pied_de_page.php"); ?>
</body>
</html>
<?php ob_end_flush();
}
else
{
echo("Vous n'avez pas les droits sur cette page.");
}?>

et

<?php
session_start();
if ($_SESSION['groupe'] == 4)
{
include ('includes/init.php');

$req = $bdd->prepare('INSERT INTO news (titre, contenu, auteur, date_creation) VALUES (:titre, :contenu, :auteur, NOW())');
$req->execute(array(
'titre' => htmlspecialchars($_POST['titre']),
'contenu' => htmlspecialchars($_POST['news']),
'auteur' => $_SESSION['pseudo'],
));
header("Location: index.php" );
}
else{echo ("Vous n'avez pas les droits sur cette page.");}
?>

Merci de vos réponses

4 réponses

  1. L'explication la plus simple est que ta base de donné n'a pas le même encodage que ta page ce qui cause un conflit avec les accents.
    2
    1. Si jamais ils s'encodent, mais que quand vous les affichez, ils font un espèce de point d'interrogation encadré, alors, tu dois simplement
      mettre ça:
      <?pfp echo nl2br(htmlspecialchars($texte)); ?>
      2
      1. *
        <?php
        0
      2. Je verrai ça demain.
        0
    2. Et tu me conseilles quel encodage pour les deux ?
      0
      1. Ca dépend un peu si tu dois utiliser des caractères du genre japonais ou chinois ou juste les caractères classiques du francais.
        Regarde l'encodage de ta bdd et encode tes pages dans le même format.
        0
    3. Pour un encodage français avec tous les caractères propres au français.
      0
      1. L'iso-8859-1 est le plus approprié mais quel est l'encodage de ta bdd ?
        0