我在 Android 上的 SQLite 表中有以下项目(表选项卡有 1 列 - '名称' 文本)
Beta
Work
Úpal
User
如果我在 SQL Server 中有这些项目以及斯洛伐克语的排序规则select * from tab order by name
,它会正确输出排序为的项目:
Beta
User
Úpal
Work
在斯洛伐克语中,带有重音符号的 U - Ú 应排在 U 之后。
在 Android 上的 SQLite 中,它按以下顺序输出它们:
Beta
User
Work
Úpal
我了解发生了什么,SQLite 可能正在使用字符代码比较字符,而 Ú 在 W 之后。
我该怎么做才能让它按我的方式排序?甚至可能吗? COLLATION 上的 SQLite 文档指出,基本上所有排序规则都是二进制比较的变体,并且使用 memcmp() 比较字符串数据,而不管文本编码如何。