Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi « Harligt » et « Härligt » renvoient-ils les mêmes résultats dans MySQL ?

Linda Hamilton
Libérer: 2024-10-25 08:50:02
original
555 Les gens l'ont consulté

Why Do `Harligt` and `Härligt` Return the Same Results in 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 :

  • Ä = A
  • Ö = O
  • Ü = U

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 :

  1. Modifier le classement : Basculer vers un classement qui n'effectue pas la mise en équivalence de ce caractère, tel que utf8_bin . Cependant, cette décision peut avoir des implications plus larges sur le traitement des données.
  2. Remplacer le classement pour des requêtes spécifiques : Pour les requêtes individuelles, il est possible de remplacer le classement par défaut en spécifiant explicitement celui souhaité. Par exemple :
<code class="sql">select * from topics where name='Harligt' COLLATE utf8_bin;</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!