Spránná odpověď pro SQLite je, že to nativně na rozdíl od větších databází neumí.
SQLite zná jen 3 varianty collation (BINARY, NOCASE, RTRIM) a ani jedna z nich neignoruje diakritiku.
Možná řešení:
- Použití vlastní collation – můžeš vytvořit vlastní porovnávací funkci v C pomocí sqlite3_create_collation, která normalizuje text (např. odstraní diakritiku).
- Normalizace textu v aplikaci – před uložením do databáze (např. převod na ASCII v C#, Pythonu, PHP…).
- Použití externí knihovny – některé SQLite rozšíření (např. ICU) podporují pokročilejší collation.
- Přejít na jinou databázi (PostgreSQL, MySql, MariaDb, ...), která to umí
Kdysi jsem taky trochu víc řešil výběr správné collation v MariaDB, když jsem požadoval shodu např i pro O = Ø, ae = æ. A našel