Maison >base de données >tutoriel mysql >Pourquoi « Harligt » et « Härligt » renvoient-ils les mêmes résultats dans MySQL ?
Traitement par MySQL des caractères Unicode : Ä, Ö et Ü
Il est déroutant de rencontrer des résultats de requête identiques lors de la recherche à la fois de "Harligt " et " Härligt " dans MySQL. Ce comportement provient des paramètres de classement par défaut de MySQL qui correspondent à certains caractères Unicode.
Les classements Unicode non spécifiques à la langue de MySQL, tels que utf8_general_ci et utf8_unicode_ci, traitent certains caractères comme équivalents, à savoir :
En conséquence, les deux requêtes perçoivent les trois caractères comme identiques, donnant ainsi des résultats correspondants .
Pour résoudre ce problème, il existe deux options :
<code class="sql">select * from topics where name='Harligt' COLLATE utf8_bin;</code>
Cette approche permet d'effectuer des recherches sensibles à la casse sans conversion automatique des caractères.
Si une recherche non sensible à la casse est souhaitée mais sans conversion de caractères, MySQL ne fournit pas actuellement de classement approprié. Cependant, des discussions sont en cours et des solutions potentielles au sein de la communauté.
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!