Problème de lecture d'accents en PHP
Résolu
Hyperbidule
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
mimigenie Messages postés 1180 Date d'inscription Statut Membre Dernière intervention -
mimigenie Messages postés 1180 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Problème de lecture d'accents en PHP
- Confirmation de lecture whatsapp - Guide
- Télécharger livre de lecture ce2 gratuit pdf - Télécharger - Éducatifs
- Accusé de lecture gmail - Guide
- Lecture epub sur pc - Guide
- Easy php - Télécharger - Divers Web & Internet
4 réponses
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.
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)); ?>