sql >> Databáze >  >> RDS >> Mysql

MySQL vyhledávání necitlivé na diakritiku (arabština)

SHOW COLLATIONS; abyste viděli, jaké porovnávání máte k dispozici. Na mé verzi nevidím nic, co by vypadalo jako ušité na míru arabštině. Nicméně utf8_unicode_ci zdá se, že dělá skládání, které chcete. Zde je jednoduchý způsob, jak to vyzkoušet:

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

Výsledek, který jsem dostal, byl 1 (pravda), což znamená, že jsou považovány za rovnocenné. Pomocí utf8_general_ci vrátilo se to s 0, což znamená nerovná se.

Poté deklarujte svá pole jako VARCHAR(...) (or TEXT) CHARACTER SET utf8 COLLATE utf8_unicode_ci; Podobně pro utf8mb4.

Chcete-li sestavit vlastní řazení (a odeslat jej k zahrnutí do budoucích verzí), přejděte na http://dev.mysql.com/doc/refman/5.6/en/adding-collation.html



  1. Příklady MySQL REGEXP

  2. Jaká jsou nastavení ovladače JDBC-mysql pro rozumné zacházení s DATETIME a TIMESTAMP v UTC?

  3. Webinář:Nové funkce v Postgres 12 [Následovat]

  4. java.sql.SQLException:Nebyl nalezen žádný vhodný ovladač pro jdbc:mysql://localhost:3306/dbname