Changer le classement d'une table MySQL en utf8_general_cs


8

J'ai essayé de changer la table MySQL de classement en utf8_general_cs mais j'ai eu l'erreur suivante:

mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_cs';
ERROR 1273 (HY000): Unknown collation: 'utf8_general_cs'

J'exécute la commande "SHOW COLLATE" et "utf8_general_cs" n'est pas dans les résultats.

Que puis-je faire maintenant?

Réponses:


13

MySQL n'a pas de classements Unicode sensibles à la casse, car c'est un problème difficile. Certaines langues assemblent les minuscules avant les majuscules, et d'autres assemblent les majuscules avant les minuscules. SQL Server essaie de faire Unicode sensible à la casse, en tenant compte des paramètres régionaux.

Vous avez deux choix:


Il est intéressant de voir à quel point la casse est un problème difficile. Si vous me demandiez de deviner, je prendrais une photo qui ne tient pas compte de la casse est un problème plus difficile à résoudre. Pouvez-vous développer un peu cela?
Robo Robok

La phrase suivante décrit le problème. IBM a une série de pages sur le "classement en fonction de la langue". La distinction majuscules / minuscules est super facile, car peu importe la façon dont la langue trie les différents cas.
David M

Je ne comprends toujours pas. Les langues trient les caractères par accents et non par casse.
Robo Robok

Désolé, je suis occupé aujourd'hui. Peut-être que cela aidera: lmgtfy.com/?q=why+is+unicode+case+sensitive+hard
David M

Cela ne renvoie rien, car votre déclaration n'est tout simplement pas vraie.
Robo Robok
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.