Bonjour,
Note : j'ai bien lu ce post, mais n'y ai pas trouvé d'explication. Je précise que j'ai par contre la même version de MySQL, que j'utilise également Wamp. Que l'ordre de tri est erroné dans phpMyAdmin, dans MySQL Query et via PHP lorsque j'affiche le résultat dans une page web.
Sous MySQL 5.0.27, j'ai une table dont le charset est UTF8 et la collation utf8_general_ci.
Dans ma table, j'ai les données suivantes dans une colonne "nom" :
Ces données sont bien en UTF-8. Dans PHPMyADMIN, elles apparaissent ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ain ete été brest
Mon problème est le suivant : si j'exécute la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ain ete été brest
SELECT nom FROM matable ORDER BY nom
J'obtiens :
En effet, le é étant encodé en UTF-8 en é, le mot été apparait après ain. Tout se passe donc comme si le tri se faisait en latin, et non en UTF-8.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ain été brest ete
J'aimerais évidemment que le résultat de la requête retourne :
J'ai essayé de forcer la collation directement dans la requête, mais ça n'a rien changé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ain brest été ete
Je précise que le charset utf8 et la colation sont indiqués au niveau de la colonne nom de ma table, ainsi que par défaut dans ma base.
D'ou peut bien provenir le problème ?
Merci par avance,
Dimitri.
Partager