Maison > base de données > tutoriel mysql > Pourquoi \'Ä\' devient-il \'AAO\' dans les recherches MySQL ?

Pourquoi \'Ä\' devient-il \'AAO\' dans les recherches MySQL ?

Mary-Kate Olsen
Libérer: 2024-10-25 11:20:30
original
746 Les gens l'ont consulté

Why Does 'Ä' Become 'AAO' in MySQL Searches?

Jeu de caractères Unicode dans MySQL : comprendre l'anomalie « Ä »

Le traitement par MySQL des caractères « ä », « ö » et « ü » comme « AAO » lorsque la recherche peut être déroutante. Pour comprendre ce comportement, nous devons nous plonger dans le monde des jeux de caractères Unicode et de leurs classements.

Dans les classements Unicode non spécifiques à une langue, tels que utf8_general_ci et utf8_unicode_ci, certains caractères Unicode sont traités comme équivalents. Plus précisément, les caractères « Ä », « Ö » et « Ü » sont normalisés à leurs équivalents de base « A », « O » et « U ». Cette normalisation est effectuée pour garantir que les caractères avec des prononciations phonétiques similaires sont traités de manière identique dans les comparaisons et les recherches.

Pour désactiver cette normalisation et effectuer une recherche sensible à la casse pour la chaîne exacte 'Härligt', vous pouvez utiliser le utf8_bin collation:

select * from topics where name='Harligt' COLLATE utf8_bin;
Copier après la connexion

Vous pouvez également utiliser un classement différent pour la requête uniquement, tel que latin1_bin:

select * from topics where name ='Härligt' COLLATE latin1_bin;
Copier après la connexion

Cependant, si vous avez besoin de recherches insensibles à la casse sans le Ä = Pour une conversion, vous devrez utiliser une approche différente, car il n'existe pas de classement MySQL qui fournit une comparaison insensible à la casse sans conversion implicite du tréma.

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