SQLite をバックエンドとして使用する iOS アプリを作成する予定です。私のデータベースには、 「Hải Sơn」などのベトナム語のテキストが含まれています。Google 検索に慣れているユーザーは、上記のテキストを見つけるために「ハイ ソン」などの検索語を入力したいと考えています。次のクエリを試しました。
SELECT * FROM towns WHERE title LIKE '%hai son%';
そして、私は0レコードを得ました。これを機能させるにはどうすればよいですか?Google や他の検索エンジンがこのケースを処理することを知っているので、実行できます。また、すべてのユーザーがその方法を知っているわけではないため、ユーザーに完全な分音記号付きのベトナム語テキストを入力させたくありません。
アップデート
sqlite3 のドキュメントを調べたところ、有効な照合順序は BINARY、NOCASE、および RTRIM の 3 つだけのようです。私は何かを逃していますか?
より詳しい情報
私のテーブルは次のもので作成されました:
CREATE TABLE towns ( sid INTEGER PRIMARY KEY NOT NULL, title TEXT )
ここまでは、sqlite3 コマンド ラインのみを使用して、データベース、テーブルを作成し、CSV ファイルからテキストをインポートしました。
私のsqlite3はバージョン3.7.12です
更新 2
Aliasは、独自の照合シーケンスを作成するというアイデアを私に与えてくれました。効果があれば追記します。