Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL traite ÅÄÖ comme AAO ?

Oui, il s'agit d'un comportement standard dans les classements Unicode non spécifiques à une langue.

9.1.13.1. Jeux de caractères Unicode

Voir aussi Exemples de l'effet du classement

Vous devez soit

  • utilisez un classement qui n'a pas cette "fonctionnalité" (à savoir utf8_bin , mais cela a d'autres conséquences)

  • utiliser un classement différent pour la requête uniquement . Cela devrait fonctionner :

     select * from topics where name='Harligt' COLLATE utf8_bin;
    

cela devient plus difficile si vous voulez faire un LIKE insensible à la casse mais pas avoir le Ä = A conversion en tréma. Je ne connais aucune collation mySQL qui soit insensible à la casse et qui ne fasse pas ce genre de conversion de tréma implicite. Si quelqu'un en connaît un, je serais intéressé d'en entendre parler.

Connexe :