Verwenden von COLLATE in Android SQLite - Gebietsschemas werden in der LIKE-Anweisung ignoriert
Bei der Erstellung meiner SQLite-Datenbank in Android habe ich das Gebietsschema der Datenbank festgelegt - db.setLocale (neues Gebietsschema ("cz_CZ")). Dies ist ein tschechisches Gebietsschema.
Eine SELECT-Anweisung funktioniert und berücksichtigt das Gebietsschema, zum Beispiel:
SELECT * from table WHERE name='sctzy' COLLATE LOCALIZED
Wird den Eintrag 'ščťžý' finden.
Aber die Verwendung von LIKE schlägt fehl:
SELECT * from table WHERE name LIKE '%sctzy%' COLLATE LOCALIZED
Keine Zeile wird zurückgegeben.
BTW. Es gibt keine java.text.Normalized-Klasse in Android. Ich dachte, ich könnte eine zweite Spalte mit einem normalisierten Text ohne Sonderzeichen erstellen, der für die Suche verwendet wird - aber mir fehlt eine Klasse oder ein Weg, wie man den String normalisiert.