我计划编写一个使用SQLite作为后端的iOS应用程序。我的数据库包含越南文本,比如"Hải Sơn"。用户习惯于谷歌搜索,希望输入类似"hai son"这样的搜索词以找到上面的文本。我尝试了以下查询:
SELECT * FROM towns WHERE title LIKE '%hai son%';
我没有获得任何记录,该怎么办?我知道Google和其他搜索引擎可以处理这种情况,所以它是可以完成的。我也不希望让我的用户输入越南文本时加上完整的变音符号,因为并不是所有用户都知道如何做到这一点。
更新
我查看了sqlite3文档,似乎只有三种有效的排序序列:BINARY、NOCASE和RTRIM。我错过了什么吗?
更多信息
我的表是用以下命令创建的:
CREATE TABLE towns ( sid INTEGER PRIMARY KEY NOT NULL, title TEXT )
到目前为止,我只使用了sqlite3命令行来创建数据库、表格,并从CSV文件中导入文本。
我的sqlite3版本是3.7.12
更新2
Alias 给了我一个想法:创建自己的排序序列。如果成功,我会发表后续文章。
COLLATE UTF8CI
会怎样? - Aiias