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

mysql sensible à la casse dans utf8_general_ci

Il est préférable d'utiliser le utf8_bin classement car, même si ce n'est pas possible en UTF-8, dans le cas général, c'est théoriquement possible (comme c'est le cas avec UTF-16) pour le same chaîne à représenter par différent encodages, qu'une comparaison binaire ne comprendrait pas mais qu'un classement binaire comprendrait. Comme documenté sous Jeux de caractères Unicode :

Par conséquent, si les comparaisons impliquant ces colonnes seront toujours être sensible à la casse, vous devez définir le classement de la colonne sur utf8_bin (afin qu'ils restent sensibles à la casse même si vous oubliez de préciser le contraire dans votre requête); ou si seules des requêtes particulières sont sensibles à la casse, vous pouvez spécifier que le utf8_bin le classement doit être utilisé en utilisant le COLLATE mot-clé :

SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin