Bonjour à tous,
Voila je suis en train de creer un systeme pour creer des aperçus d'articles sur une page d'accueil.
Voici un bout du code pour visualiser :
<?php
$bdd = new PDO($dsn, $user, $pass);
$sql = 'SELECT * FROM articles';
$req = $bdd->query($sql);
while($data = $req->fetch()){
echo "<article class='preview'>
<div class='image'>
<a href='#'><img class='vignette' src='{$data['image']}'</a>
</div>
<div class='apercu'>
<span class='text'>
<h3>{$data['titre']}</h3>
<em>{$data['date']}</em>
</span>
</div>
<div class='few-text'>
<p>{$data['chapeau']}</p>
</div>
<div class='mask-few-text'></div>
</article>";
}
?>
Cette balise php est dans le code html de la page et je precise bien sûr que l'encodage de la page et en utf-8.
Alors voila mon soucis : Le texte qui s'affiche sur l'aperçu n'affiche pas les caractères accentués.
l'index.php est en utf-8 et la table sql est en utf8_general_ci.
Pouvez vous m'expliquer ? Faut t'il utiliser une fonction au autre ?
Merci d'avance
Bonjour Masso,
Tu dois communiquer avec la bd en utf-8, pour cela il faut envoyer la commande SET names utf8
tu peux le faire lors de la connexion
$pdo = new PDO('mysql:host='.$db_host.';dbname='.$db_name, $db_user, $db_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));