Encodage et tri sur du texte accentué avec MySQL

Bases de données Aucun commentaire »

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

AJAX et fuites mémoires

Javascript/AJAX 4 Commentaires »

Par le biais d’AJAX, l’utilisation intensive du Javascript a permis de soulever de nombreux problèmes de mémoire au sein des navigateurs du marché. Ni IE, ni Firefox ne sont épargnés par ce sujet qui empoisonne la vie des développeurs web. Petite explication de texte.

Lire la suite »

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in