Problème de caractère !
Fab121205
Messages postés
81
Date d'inscription
Statut
Membre
Dernière intervention
-
Exileur Messages postés 1475 Date d'inscription Statut Membre Dernière intervention -
Exileur Messages postés 1475 Date d'inscription Statut Membre Dernière intervention -
Quand j'affiche des infos de ma base de donnée j'ai des � à la place des é, è, à ... On m'a dit :
Change d'encodage en Utf-8_general_ci mais ca me dit :
Erreur de requête:
#1366 - Incorrect string value: '\xE9ant' for column 'Nom_jeu' at row 2
Merci Fab1205
Change d'encodage en Utf-8_general_ci mais ca me dit :
Erreur de requête:
#1366 - Incorrect string value: '\xE9ant' for column 'Nom_jeu' at row 2
Merci Fab1205
A voir également:
- Problème de caractère !
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Caractere vide - Guide
- Caractere speciaux mac - Guide
4 réponses
Salut,
Si ta table est en ISO-8859-1 tu peux faire :
$var = "Qu'est-ce que la vie sinon l'ombre d'un rêve éphémère ?";
$var = utf8_decode($var);
Cordialement
Si ta table est en ISO-8859-1 tu peux faire :
$var = "Qu'est-ce que la vie sinon l'ombre d'un rêve éphémère ?";
$var = utf8_decode($var);
Cordialement
Pour convertir ta table, depuis l'onglet requête de phpmyadmin tu peux faire :
Pour la connexion à ta base de donnée, si tu utilises PDO, tu peux définir l'encode comme ça:
Puis dans tes pages, tu définies l'encodage en utf8 dans le head :
ça devrait corriger le problème :)
ALTER TABLE {tablename} CONVERT TO CHARACTER SET utf8
Pour la connexion à ta base de donnée, si tu utilises PDO, tu peux définir l'encode comme ça:
$dsn = "mysql:NOM_DE_LA_TABLE;host=HOTE;charset=utf8"; $user = 'USER'; $password = 'PASSWORD'; try { $bdd = new PDO($dsn, $user, $password); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo 'Échec lors de la connexion : ' . $e->getMessage(); }
Puis dans tes pages, tu définies l'encodage en utf8 dans le head :
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>
ça devrait corriger le problème :)
Qu'est ce qu'il y a de faux :
<?php $dns = "mysql:jeux;host=localhost;charset=utf8"; $user = 'root'; $password = ''; try { $bdd = new PDO($dsn, $user, $password); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo 'Échec lors de la connexion : ' . $e->getMessage(); } $reponse = $bdd->query('SELECT * FROM jeux WHERE Nom_jeu LIKE "a%" ORDER By Nom_jeu'); ?> <center> <table class="table-apres-midi-jeux"> <caption class="caption-apres-midi-jeux"> <th class="caption-apres-midi-jeux">N°</th> <th class="caption-apres-midi-jeux">Nom</th> <th class="caption-apres-midi-jeux">Editeur</th> <th class="caption-apres-midi-jeux">Catégorie</th> <th class="caption-apres-midi-jeux">Âge min</th> <th class="caption-apres-midi-jeux">Prix</th> </caption> <?php while ($donnees = $reponse->fetch()) { ?> <tr> <td class="td-apres-midi-jeux"><?php echo $donnees['Numero_jeu'];?></th> <td class="td-apres-midi-jeux"><?php echo $donnees['Nom_jeu'];?></th> <td class="td-apres-midi-jeux"><?php echo $donnees['Editeur'];?></th> <td class="td-apres-midi-jeux"><?php echo $donnees['Categorie'];?></th> <td class="td-apres-midi-jeux"><?php echo $donnees['Age_min'];?></th> <td class="td-apres-midi-jeux"><?php echo $donnees['Prix_location'];?></th> </tr> <?php } $reponse->closeCursor(); ?>
Pour l'affichage sur ton site.