[PHP-MYSQL] lecture dans l'ordre alphabétique

CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   -  
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je souhaite afficher les noms d'animaux de ma table animal dans l'ordre alphabétique.

SELECT * from animal ORDER by animal_fr ASC

Voici ce que j'obtiens :
crapaud
lion
panda
éléphant

J'utilise des fichiers encodés en utf8, la table est aussi en utf8, mais les caractères accentués ... ben ça va pas.
Si quelqu'un a la solution je suis preneur.
Merci :)

A voir également:

4 réponses

youry1 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   1
 
Je pense qu'une petite lecture de cette doc devrait t'aider :
https://www.developpez.com/telechargements/auth/id/0368b6d5df4bab79a7291883e7cc2c4d

:)
1
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
Merci beaucoup pour vos réponses.
J'utilise donc :
SELECT * from animal ORDER by animal_fr COLLATE utf8_general_ci ASC
(j'ai mis ASC à la fin, la commande de samydr6 renvoie une erreur)
Mais cette fois, éléphant est affiché avant crapaud.
J'ai converti la table en utf8, passé les caractères en utf et la colonne en utf8_general_ci (pour être sur) mais cela ne change rien.
J'ai aussi utilisé la commande mysql_query("SET NAMES utf8_general_ci")
et essayé utf8_swedish_ci à la place de general... mais pas mieux.
Je cherche la solution dans le fichier https://www.developpez.com/telechargements/auth/id/0368b6d5df4bab79a7291883e7cc2c4d (merci youry1).

EDIT : ça me gave, je vais utiliser des majuscules, ça ira bien pour cette situation.

c'est dur a faire une signature ;)
1
Utilisateur anonyme
 
SELECT* FROM animal ORDER BY animal_fr asc collate utf8_general_ci
0
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
Hum j'avais vraiment un soucis que je pense résolu. Pas encore testé l'ordre des caracteres dans la recherche, mais j'avais aussi des problemes de comparaison, genre je trouvais pas le "é" dans "dé", pis j'avais des caracteres type point d'interrogation sur losange noir, du plus bel effet.

J'ai remplacé dans tout mon code php :
strpos, strlen, strpos, strtoupper, strtolower, split, substr
par
mb_strpos, mb_strlen, mb_strpos, mb_strtoupper, mb_strtolower, mb_split, mb_substr
0