Probleme html accentuation transformée en ?

Résolu
alex012 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -  
alex012 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis en train de faire un site, mais j'ai un problème je suis en "utf-8" et toutes les accentuations sonts transformées en ? le é pour le é marche mais je voudrais ne plus avoir a l'écrire.
j'ai chercher sur plusieurs forums mais aucun n'a résolue mon probleme
merci d'avance pour vos réponses


A voir également:

9 réponses

theshadoo Messages postés 786 Date d'inscription   Statut Membre Dernière intervention   123
 
regarde cet article problème encodage utf8

regarde à la fin tu comprendras pourquoi je pense
0
alex012 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci, je vais voir ça demain avec l'Ordinateur, et je vais vous dire si sa a marcher, sa doit etre l'hebergeur qui est en iso
merci
0
Utilisateur anonyme
 
Bonjour

sa doit etre l'hebergeur qui est en iso
Non, un hébergeur n'est ni en iso, ni en truc ni en machin. Ce sont tes fichiers qui le sont.
Visiblement, tu as mis une balise disant que ta page est en utf8 alors que toi, tu l'as écrite en iso.
C'est l'éditeur de texte avec lequel tu écris tes pages qui crée ces pages en iso ou en utf8. Il y a quelque part dans les menus une option qui te permet de le choisir.
Et la balise que tu mets dans une page html ne change pas l'encodage de la page : elle sert seulement à dire au navigateur quel encodage tu as utilisé. Mais si tu l'as écrite en iso et que tu dis au navigateur que c'est de l'utf8, il ne peut pas l'afficher correctement. C'est à toi de mettre la balise qui reflète l'encodage réel de ta page, qui n'est déterminé (je me répète) que par ton éditeur de texte.
0
alex012 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai tout changer, si j ecris direct dans la page sa s'encode bien mais si je passe par mysql sa fait comme avant (il est en :"utf8_general_ci")
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
As-tu bien mis un "SET NAMES 'UTF8'" après avoir sélectionné ta base de données ?
0
alex012 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai fait comme ca
<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=admin', 'root', '')

SET NAMES 'UTF8'
}

catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
 
$reponse = $bdd->query('SELECT * FROM news');

 
while ($donnees = $reponse->fetch())

{
?>
    
    <h1 id="sectitre">é<?php echo $donnees['titre']; ?></h1>
    <p><?php echo $donnees['contenu']; ?>
   </p>
<?php
}
$reponse->closeCursor();
?>

et sa ne marche pas j'ai essayait d'autres endroits sa ne marche pas non plus
ou faut il le placer?
merci
0
foo
 
erreur de topic désolé!
0
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
Bonjour,

Le SET NAMES 'UTF8' est une requête pour indique au moteur MySQL que tu es en UTF8.
Il faut donc faire
$bdd->query("SET NAMES 'UTF8'");

avant ton
$reponse = $bdd->query("SELECT * FROM news");
0
alex012 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci j'ai fait ca sa fonctionne maintenant
0