j'ai problème des accents sur la page html.j'ai bien mis le
<meta charset="UTF-8"/>
mais ê est remplacé par ê.
sur ma page de connection avec la BDD, j'ai fait de cette manière:
define('DB_HOST', 'localhost');
define('DB_NAME', 'coursupreme');
define('DB_USERNAME','root');
define('DB_PASSWORD', '');
try{
$db= new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD);
$db->exec("SET CHARACTER SET utf8");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
die('erreur:'.$e->getMessage());
}
;?>
Pourriez vous m'aide à résoudre ce problème?
merci
Parce que tes datas ne sont pas encodées en UTF8 à l'origine tout simplement. Là on ne peut rien pour toi, on est pas responsable de l'encodage de tes datas :/
Salut,
Comment as-tu inséré tes datas dans ta BD . Car ça vient surement de là.
Sinon il faut préciser le charset à utiliser à l'instanciation de PDO:
$db = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD, [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"]);
Salut betaWeb!!pour l'inseretion des données, je l'ai fait à l'aide des requetes comme suit:```
$tableau = array(
'titre'=>$titre,
'detail'=>$detail
);
$query=$db->prepare("INSERT INTO news (titre, detail) VALUES (:titre,:detail)");
$query->execute($tableau);
Si si ça me paraît correct. Est-ce que tu as résolu ton problème précédent ? Si oui, passe ton sujet en résolu stp.
pas du tout!le problème n'est pas résolu.vous m'avez demandé comment j'ai pu inserer mes données à la BDD, et je vous ai montré ma requête d'insertion. si non le problème est toujours là.
Beh passe la en utf8_general_ci. Mais à mon avis c'est que le contenu inséré était mal encodé dès le départ.
j'aimerais vous signaler que je viens de detruire ma BDD, pour le créer à nouveau pour commencer à zéro et, je viens de terminer mais je suis désolé ja sais pas d'ou vient l'eurreur, car je l'ai codé en utf8_general_ci comme vous l'avez dit.merci quand même à vous
betaWeb
Salut betaWeb!!j'alllais le faire mais je suis toujours à la recherche d'une solution pour ce problème.
Alors, je ne vois pas l'intérêt de le faire en sujet résolut.Ce qui m'ettone c'est que l'application que j'ai dévelopée très precedement tout etait marché à la perfection.C'est un problème qui me semble nouveau.
merci infiniment!!!
Lorsque que tu affiches tes infos, fais un utf8_encode($mon_info);
et si ça marche pas, fais un utf8_decode($mon_info);
.
Sinon, comme on le dit souvent sur ce forum, google est ton ami: https://www.google.com/search?q=database%20utf8%20php%20problem ;)
Tu épluches les forums, comme ce que font 95% des devs ;)
Merci betaWeb!laisse-moi 5 munites pour essayer votre proposition!si non j'ai passé sur plusieurs forum pour trouver une solution mais je n'ai trouvé aucune réponse pour résoudre mon problème.meci pour votre patience !
Salut betaWeb!je vais essayer d'être beaucoups plus claire.Pour aficher le titre j'ai fait de cette manière:
``
<?php echo $news['titre'];?>
Je viens de mettre en pratique ce que m'as prosé comme suit:
mais rien ne va du tout.je sais pas si j'ai placé utf_encode.
merci
<?php echo utf8_encode($news['titre']);?>
Si si c'est bien comme ça. Et avec un utf8_decode()
?
Tu as essayé de mettre ça tout en haut de tes pages header('Content-type: text/html; charset=utf-8');
(troisième lien de la recherche google que je t'ai suggérée plus haut)