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

Fermé
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 - 4 sept. 2010 à 15:48
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 - 29 sept. 2010 à 01:10
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 :)

4 réponses

youry1 Messages postés 2 Date d'inscription samedi 4 septembre 2010 Statut Membre Dernière intervention 4 septembre 2010 1
4 sept. 2010 à 16:02
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 jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
Modifié par CH4NCE le 6/09/2010 à 10:52
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
4 sept. 2010 à 16:00
SELECT* FROM animal ORDER BY animal_fr asc collate utf8_general_ci
0
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
29 sept. 2010 à 01:10
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