我有一列,其中一些元素包含重音字母。
例如:Grambú

我的要求是,当我搜索“Grambu”时,结果中也应该出现“Grambú”。

对于此要求,我尝试对该特定列使用“COLLATE NOCASE”参数。
但这没有用。

当我在网上搜索解决方案时,我发现很多人建议将重音字符标准化
并基于它创建另一列作为唯一选项。

这个问题还有其他更简单的解决方案吗?

最佳答案

COLLATE NOCASE 工作 only for the 26 upper case characters of ASCII

使用 setLocale() 和使用 COLLATE LOCALIZED 将数据库的语言环境设置为支持重音字符的语言环境。

您也可以尝试使用 COLLATE UNICODE
但要注意这个错误: SQLite UNICODE sort broken in ICS - no longer case-insensitive

检查 the documentation 是否提及 Android 中的这两个校对器。

另请查看此 online collation demo tool

10-07 19:46