Android で SQLite データベースを作成するときに、データベース ロケールを設定しました - db.setLocale(new Locale("cz_CZ"))。これはチェコのロケールです。
SELECT ステートメントが機能し、ロケールが考慮されます。次に例を示します。
SELECT * from table WHERE name='sctzy' COLLATE LOCALIZED
エントリ「ščťžý」が見つかります。
しかし、LIKE を使用すると失敗します。
SELECT * from table WHERE name LIKE '%sctzy%' COLLATE LOCALIZED
行は返されません。
ところで。Android には java.text.Normalized クラスはありません。検索に使用される特殊文字を取り除いた正規化されたテキストで2番目の列を作成できると思いましたが、クラスまたは文字列を正規化する方法がありません。