Problème de lecture d'accents en PHP

Résolu/Fermé
Hyperbidule Messages postés 54 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 22 mars 2012 - 21 mars 2012 à 20:11
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 - 22 mars 2012 à 20:23
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
A voir également:

4 réponses

mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 313
21 mars 2012 à 21:04
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
pfdp0 Messages postés 168 Date d'inscription jeudi 22 décembre 2011 Statut Membre Dernière intervention 16 janvier 2018 12
21 mars 2012 à 21:51
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
pfdp0 Messages postés 168 Date d'inscription jeudi 22 décembre 2011 Statut Membre Dernière intervention 16 janvier 2018 12
21 mars 2012 à 21:52
*
<?php
0
Hyperbidule Messages postés 54 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 22 mars 2012 10
21 mars 2012 à 22:28
Je verrai ça demain.
0
Hyperbidule Messages postés 54 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 22 mars 2012 10
22 mars 2012 à 18:06
Et tu me conseilles quel encodage pour les deux ?
0
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 313
22 mars 2012 à 18:19
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
Hyperbidule Messages postés 54 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 22 mars 2012 10
22 mars 2012 à 18:22
Pour un encodage français avec tous les caractères propres au français.
0
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 313
22 mars 2012 à 20:23
L'iso-8859-1 est le plus approprié mais quel est l'encodage de ta bdd ?
0