我打算编写一个使用 SQLite 作为后端的 iOS 应用程序。我的数据库包含越南文字,例如"Hải Sơn"。习惯于谷歌搜索的用户希望输入“hai son”之类的搜索词以找到上面的文字。我尝试了以下查询:
SELECT * FROM towns WHERE title LIKE '%hai son%';
我得到了 0 条记录。我如何使它工作?我知道谷歌和其他搜索引擎处理这种情况,所以可以做到。我也不想让我的用户输入带有完整变音符号的越南文文本,因为并非所有用户都知道如何这样做。
更新
我查看了 sqlite3 文档,看起来只有三个有效的排序规则序列:BINARY、NOCASE 和 RTRIM。我错过了什么吗?
更多信息
我的表是通过以下方式创建的:
CREATE TABLE towns ( sid INTEGER PRIMARY KEY NOT NULL, title TEXT )
到目前为止,我只使用 sqlite3 命令行从 CSV 文件创建数据库、表和导入文本。
我的 sqlite3 版本为 3.7.12
更新 2
Alias给了我一个想法:创建自己的整理序列。如果它有效,我将发布跟进。