Pour trier en utilisant le point de code Unicode, vous devez probablement utiliser utf8_bin
classement.
Précisément, le _bin
le suffixe indique de trier par la représentation binaire de chaque caractère .
Pour remplacer le classement par défaut lors de la commande, vous utiliserez ORDER BY ... COLLATE
:
Pour paraphraser la documentation :
SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;
Si votre colonne de texte ne le fait pas utilisez l'encodage utf8, vous devrez CONVERT
il :
SELECT k
FROM t1
ORDER BY CONVERT(k USING utf8) COLLATE utf8_bin;
Veuillez noter que j'ai utilisé utf8
à titre d'exemple ici car il s'agit de l'encodage Unicode le plus courant. Mais votre serveur MySQL prend probablement en charge d'autres encodages Unicode, comme ucs2
("UTF-16").