Php n'affiche pas les infos de la bdd si un accent est présent

Résolu/Fermé
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 - Modifié par rolly41 le 21/02/2013 à 12:40
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 - 21 févr. 2013 à 21:07
Bonjour,

J'ai donc ce code pour reprendre les informations de ma base de donnée :
<?php 
//On verifie que lidentifiant de lutilisateur est defini 
if(isset($_GET['id'])) 
{ 
        $id = intval($_GET['id']); 
        //On verifie que lutilisateur existe 
        $dn = mysql_query('select id, pseudo, date, presentation, rang, avatar from membre where id="'.$id.'"'); 
        if(mysql_num_rows($dn)>0) 
        { 
                $dnn = mysql_fetch_array($dn); 
                //On affiche les donnees de lutilisateur 
?>


Là, tout va bien. Le problème est ici :
<?php echo htmlentities($dnn['presentation'], ENT_QUOTES, 'UTF-8'); ?>


Il n'affiche rien si un "é", "è", "à", ou autre caractère de ce type est présent dans la base de donnée. Mais affiche bien les informations si aucun caractère de ce type est présent.

Que dois-je faire pour corriger cela ?

3 réponses

Utilisateur anonyme
21 févr. 2013 à 16:33
Ca ressemble bien à un soucis d'encodage, essai de mettre les balise <meta> dans ta page , ou un header pour que tout soit encodé en UTF8
0
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
21 févr. 2013 à 18:25
Ceci est pour toute les pages :
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>


Mais le même résultat
0
fais un var_dump($dnn) pour voir ce que vaut le data quand il y a un accent et quand il y en a pas .
0
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
21 févr. 2013 à 18:04
avec le var_dump j'ai ce résultat : string 'Aucune pr?sentation' (length=19)
0
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
21 févr. 2013 à 19:54
Voici des informations sur la base de données :

Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL : utf8_general_ci
Interclassement des table : utf8_unicode_ci
Interclassement des champs de chaque tables : utf8_general_ci
0
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
21 févr. 2013 à 21:07
En localhost, j'ai supprimé , ENT_QUOTES, 'UTF-8' du code
<?php echo htmlentities($dnn['presentation'], ENT_QUOTES, 'UTF-8'); ?>


Et cela fonctionne.

La même base, avec les même tables et les même données avec les même page php ne fonctionne pas sur mon site ... je n'ai rien si un accent est présent.
0