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() を使用して文字列データを比較すると述べています。