什么整理本地化委员会?
-
24-09-2019 - |
题
private Cursor getContacts()
{
// Run query
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" +
(mShowInvisible ? "0" : "1") + "'";
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}
这是什么 COLLATE LOCALIZED ASC
立场?
解决方案
逐为排序只是看上说话(排序井)。因此,这是排序顺序基于本地化的喜好(即当前语言的字母和公约)在递增结束顺序。
其他提示
它指示源码排序non-ASCII characters适当。字符用变音符号(有人称他们的口音)有更高的字节的代码比字Z,这样一个普通的ASCII排序,不适合许多外国语言。
例如,资本char的字节的代码是 0x41
和首都Z char是 0x5A
.然后我们有Á(资本的一个accute)的代码在Unicode是 0x00C1
.因此,一个普通的字节的代码类会结果的Á以后Z。
但是,在语言具有这样的人物的公约》是把这些用变音符号,如果他们没有变音符号.所以Á应该在一起,与普通的一个,至少前B。
并说明,我们下面列表中的排名使用他们的码:
- 布伦达
- 黛比
- 乔治
- Álvaro
- Érico
现在使用的 COLLATE LOCALIZED
它将按"基地"的字:
- Álvaro
- 布伦达
- 黛比
- Érico
- 乔治
整理是一个SQL操作,让你复盖默认的排列顺序为串。例如,"核对NOCASE"不情况不敏感的比较,和"核对二元"并的情况下敏感的比较。
该源码C口可以定义定义的排序规则(http://www.sqlite.org/c3ref/create_collation.html).
不隶属于 StackOverflow