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

Recherche insensible aux diacritiques MySQL (arabe)

SHOW COLLATIONS; pour voir les collations dont vous disposez. Sur ma version, je ne vois rien qui semble adapté à l'arabe. Cependant, utf8_unicode_ci semble faire le pliage que vous voulez. Voici une façon simple de l'essayer :

SELECT 'بِسْمِ' = 'بسم' COLLATE utf8_unicode_ci;

Le résultat que j'ai obtenu était 1 (vrai), ce qui signifie qu'ils sont considérés comme égaux. Avec utf8_general_ci il est revenu avec 0, ce qui signifie non égal.

Déclarez ensuite vos champs comme étant VARCHAR(...) (or TEXT) CHARACTER SET utf8 COLLATE utf8_unicode_ci; De même pour utf8mb4.

Pour créer votre propre classement (et le soumettre pour inclusion dans les futures versions), consultez http://dev.mysql.com/doc/refman/5.6/en/adding-collation.html