我有一個查詢返回一個人的名字列表,我按它的名字排序。Android SQLITE通過無法正常工作排序A和Ã
的人用姓氏開始列出所有的方式在一個姓氏的人以後月底開始以Z
問題1:是應該是A之後,或部分A,或者應該坐在後面Z
問題2:如果它是A的一部分我該如何用查詢命令控制它?
我有一個查詢返回一個人的名字列表,我按它的名字排序。Android SQLITE通過無法正常工作排序A和Ã
的人用姓氏開始列出所有的方式在一個姓氏的人以後月底開始以Z
問題1:是應該是A之後,或部分A,或者應該坐在後面Z
問題2:如果它是A的一部分我該如何用查詢命令控制它?
這取決於你列的collation。 sqlite C API允許你使用sqlite3_create_collation()
來定義你自己的排序規則,但是這似乎並沒有通過Android的Java端API公開。
然而,SQLiteDatabase
class documentation提到Android會自動添加一些額外的排序規則。其中之一是LOCALIZED
。這可能給你一個排序,其中A和Ã被認爲是相同的(或至少相鄰) - 但是,結果會因用戶所選的語言環境而有所不同,所以如果您需要訂購相同的全部用戶。
由於Android框架基於Java編程語言,所以字符默認使用UTF-8進行編碼。
如果你看一看到任何unicode character table你會發現, A是在列表號00C3和Z爲005A(00C3> 005A/A> Z)。
因此,爲了向你問題1:一是應該是後ž