Ordre alphabetique et caracteres speciaux

Eléphant du PHP | 331 Messages

08 mai 2010, 03:52

Bonjour,

Je ne comprend pas pourquoi mais si je fais une requete en lui mettant l'ordre sur le champ nom (pour avoir l'ordre alphabétique) bien les mot commençant par un caractère spécial, é è ... sont affiché avant ceux commençant par a

Que faire?

ma BD est MYSQL

Merci!

devlop78
Invité n'ayant pas de compte PHPfrance

09 mai 2010, 01:37

Oui ce n'est pas anormal. Renseigne-toi sur les interclassements, tu dois pouvoir choisir celui qu'il te faut. Tape Interclassements Mysql dans Google et ça devrait t'aider. Sinon, tu peux préciser l'encodage actuel de ta base de données, nous dire si tu respectes cet encodage (par exemple si tu mets bien de l'utf-8 dans de l'utf-8 et vice versa), et quel interclassement tu utilises. La réponse que l'on pourra te donner si ta recherche n'aboutit pas sera meilleure.

Eléphant du PHP | 331 Messages

11 mai 2010, 17:55

ma table dit qu'elle est en latin1_swedish_ci

je l'ai changé pour utf8 via
ALTER TABLE `pays_taxes` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
mais sa na rien changé

ViPHP
AB
ViPHP | 5818 Messages

11 mai 2010, 18:43

Juste après ta connexion à la base, et avant de faire ta requête il faut indiquer à mysql que tu travaille en utf-8 :

Code : Tout sélectionner

mysql_query("SET NAMES 'utf8'");
Si nécessaire un tuto sur l'encodage utf-8 ici