Php n'affiche pas les infos de la bdd si un accent est présent
Résolu
rolly41
Messages postés
281
Statut
Membre
-
rolly41 Messages postés 281 Statut Membre -
rolly41 Messages postés 281 Statut Membre -
Bonjour,
J'ai donc ce code pour reprendre les informations de ma base de donnée :
Là, tout va bien. Le problème est ici :
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 ?
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 ?
A voir également:
- Php n'affiche pas les infos de la bdd si un accent est présent
- E accent minuscule - Guide
- Le clavier de mon telephone ne s'affiche plus - Guide
- Le fichier à télécharger est dans un format peu courant. trouvez le moyen de l’ouvrir. quel mot s’affiche ? - Forum Windows
- Dans la présentation à télécharger, déplacez l'image dans le cadre sans en modifier la taille. redressez l'image pour que le niveau de la mer soit à l'horizontale. faites correspondre : la ligne avec le niveau de la mer ; le point avec le sommet de la grande voile. combien d'oiseaux sont dans le cadre ? - Forum Word
- Comment faire un accent circonflexe sur un clavier azerty ✓ - Forum Windows Vista
3 réponses
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
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 .
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
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
En localhost, j'ai supprimé , ENT_QUOTES, 'UTF-8' du code
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.
<?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.
Mais le même résultat