【问题标题】:Ignore accents in sqlite query appcelerator忽略 sqlite 查询 appcelerator 中的重音符号
【发布时间】:2026-01-28 23:10:02
【问题描述】:

有人知道使用 sqlite 在 appcelerator 上整理 unicode 的等价物吗?在 android studio 中它可以工作,但在钛 appcelerator 中它不知道它是什么。

Android 工作室示例:

"Select myData from myTable where myData == somthing order by myData COLLATE UNICODE"

我需要在 appcelerator 上进行相同的查询,但 COLLATE UNICODE 部分不起作用。

说明以下内容:

啊, 是, 无

我有以这些字母开头的单词。

如果您订购它们:

阿姆, 一个, 奥

但我的查询并未按应有的方式对它们进行排序。

有什么方法可以在不在数据库中创建新列的情况下对它们进行排序?

【问题讨论】:

    标签: sql sqlite appcelerator-titanium


    【解决方案1】:

    UNICODE 不是 built in 排序规则序列。 ICU 扩展允许您定义特定于语言环境的 Unicode 感知整理器,但在许多 sqlite3 安装中默认情况下不会构建它。

    【讨论】:

    • 谢谢。有什么方法可以在不使用 unicode 的情况下做同样的事情?
    • @Manuel_Rodrigues 你到底想做什么?你想要什么样的排序顺序?
    • @Manuel_Rodrigues 是的,您将需要使用 ICU 排序规则定义函数。如果您使用的是 sqlite 的合并版本,您可以添加 #define SQLITE_ENABLE_ICU 1 或类似的东西来构建它(并与适当的库链接),或者如果它是系统库版本,则可以将扩展构建为 dll 并加载。