|
Besoin de développeurs PHP/Zend Framework ? Contactez nous
Télétravail uniquement
Maxence DELANNOY - Tél. : 09.70.46.32.55
|
|
Soumis par Maxence le ven, 13/02/2009 - 20:33
Pour rappel, un interclassement (ou collation en Anglais) est un ensemble de règles permettant la comparaison de caractères dans un jeu. Ce paramètre influe donc sur le résultat des tris.
MySQL vous propose plusieurs interclassements pour l'UTF-8. La plupart sont spécifiques à certaines langues, comme utf8_esperanto_ci qui est prévu pour l'Esperanto.
Si vous ne travaillez pas dans l'une de ces langues, comme c'est le cas pour le Français, il vous reste 3 autres options :
Pour rappel, un interclassement (ou collation en Anglais) est un ensemble de règles permettant la comparaison de caractères dans un jeu. Ce paramètre influe donc sur le résultat des tris.
MySQL vous propose plusieurs interclassements pour l'UTF-8. La plupart sont spécifiques à certaines langues, comme utf8_esperanto_ci qui est prévu pour l'Esperanto.
Si vous ne travaillez pas dans l'une de ces langues, comme c'est le cas pour le Français, il vous reste 3 autres options :
- utf8_bin. Cet interclassement compare les codes des caractères. Il est donc très rapide, mais pas forcément très précis. Comme les codes des majuscules sont plus petits que ceux des minuscules (A = 65, a = 97), les enregistrements comportant du texte en majuscules se retrouveront placés avant les textes écrit en minuscules, ce qui ne correspondra pas forcément aux attentes de l'utilisateur.
- utf8_general_ci. Cet interclassement fonctionne de façon très simple. Il supprime les accents et converti le texte en minuscules. Il est donc assez rapide.
- utf8_unicode_ci est plus précis car il supporte les caractères multiples comme le e dans l'o. En contrepartie, il peut s'avérer un peu plus lent.


A noter que l'interclassement
A noter que l'interclassement le plus adapté au tri de mots en français est utf8_roman_ci, il respecte le classement des caractères accentués et des caractères liés "œ".
David, Dynamicnet
Poster un nouveau commentaire