Collations MySQL Unicode : comprendre l'équivalence tréma
L'observation selon laquelle MySQL considère "åäö" comme équivalent à "AAO" est enracinée dans l'utilisation de classements Unicode non spécifiques à la langue. Comme indiqué dans la documentation MySQL, les classements de ce type standardisent la gestion des caractères Unicode, y compris les trémas.
Plus précisément, dans les classements tels que utf8_general_ci et utf8_unicode_ci, les égalités suivantes s'appliquent :
Cette "fonctionnalité" garantit que les comparaisons et les recherches traitent certains caractères comme équivalents, quelle que soit leur spécificité Points de code Unicode.
Pour atténuer ce problème, vous disposez de deux options principales :
select * from topics where name='Harligt' COLLATE utf8_bin;
Il est important de noter que réaliser des recherches insensibles à la casse tout en préservant la distinction du tréma est plus complexe. S'il existe un classement MySQL approprié répondant à ces critères, son existence serait intéressante.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!