PcKULT.NET - La référence en informatique

  • Increase font size
  • Default font size
  • Decrease font size
  • default color
  • black color

PcKULT.NET - Recrute

PcKULT.NET est présentement à la recherche de passionnés d'informatique qui veulent se greffer à l'équipe de PcKULT.NET. Si l'aventure vous intéresse, veuillez communiquer avec nous.

webmaster@pckult.net


Encodage et tri sur du texte accentué avec MySQL

E-mail Imprimer PDF

Voici une petite subtilité de MySQL. Les accents dans des champs texte peuvent être mal pris en compte dans les ORDER BY, suivant l’encodage utilisé.

Prenons l’exemple d’une table avec un champ id et un champ texte au format latin1_bin :

id texte
1 Crète
2 Croatie
3 Critère

Prenons maintenant une requête standard :

SELECT id, texte FROM matable ORDER BY texte

Ceci renverra Critère, puis Croatie, et enfin Crète, car latin1_bin effectue des comparaisons binaires et est donc sensible aux caractères accentués. Heureusement, MySQL fournit une parade avec COLLATE, qui permet de convertir dans le champ dans l’encodage de son choix, on peut donc dans notre cas utiliser latin1_swedish_ci qui reconnait correctement les accents (un é est considéré comme équivalent à un e).

La requête donne donc :

SELECT id, texte FROM matable ORDER BY texte COLLATE latin1_swedish_ci


Ajouter cette page à votre Digg-Like préféré
Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! Technorati! StumbleUpon! Spurl! Furl! Blogmarks! Yahoo! FeedMeLinks!
Commentaires (0)Add Comment

Ecrivez un commentaire
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
Réduire l'éditeur | Agrandir l'éditeur

busy
Mis à jour ( Mardi, 01 Avril 2008 07:37 )  

Sondage

Votre fournisseur Internet
 

Publicités