Java 如何检查(甚至设置)mdb(ms access)文件中的排序规则?

Java 如何检查(甚至设置)mdb(ms access)文件中的排序规则?,java,mysql,ms-access,collation,Java,Mysql,Ms Access,Collation,我成功地将Access数据库迁移到MySQL数据库。一切似乎都很好,但我需要MySQL DB更具体的行为。 选择选项“从A到Z排序”后,我需要与Access DB中完全相同的查询结果排序。 我在Java应用程序中使用此结果。 MySQL表为UTF-8,排序规则设置为utf8\u general\u ci。 查询示例如下: "SELECT encode, language FROM suffixes ORDER BY encode COLLATE utf8_unicode_ci" 它返回相似的结

我成功地将Access数据库迁移到MySQL数据库。一切似乎都很好,但我需要MySQL DB更具体的行为。
选择选项“从A到Z排序”后,我需要与Access DB中完全相同的查询结果排序。
我在Java应用程序中使用此结果。

MySQL表为UTF-8,排序规则设置为utf8\u general\u ci。
查询示例如下:

"SELECT encode, language FROM suffixes ORDER BY encode COLLATE utf8_unicode_ci"
它返回相似的结果,但排序存在不可接受的差异。

访问排序结果如下所示:

001_01._02.1_02.2.1_02.4_05.e.3.1_07.2.2_15.5.d_20.3.2.1_31.2.2_33.3.4_001
001_01._02.1_02.4.1_06.4.1_06.4.2_07.2.1.1_07.2.2_10.1_11.1.3_20.3.2.1_20.3.7_20.6.8_001
001_01._02.1_02.2.1_02.4_05.e.3.1_07.2.2_15.5.d_20.3.2.1_31.2.2_33.3.4_001                                                              
001_01._02.1_02.4_06.1_06.2.4.1.2_06.2.4.1.3_06.3.1_07.2.1.1_07.2.2.1_11.2.2_15.2.1.a.1_15.5.a_20.3.2.2.1.a_20.7.1.5_20.8_33.4.5.3_001 
Java对结果进行如下排序:

001_01._02.1_02.2.1_02.4_05.e.3.1_07.2.2_15.5.d_20.3.2.1_31.2.2_33.3.4_001
001_01._02.1_02.4.1_06.4.1_06.4.2_07.2.1.1_07.2.2_10.1_11.1.3_20.3.2.1_20.3.7_20.6.8_001
001_01._02.1_02.2.1_02.4_05.e.3.1_07.2.2_15.5.d_20.3.2.1_31.2.2_33.3.4_001                                                              
001_01._02.1_02.4_06.1_06.2.4.1.2_06.2.4.1.3_06.3.1_07.2.1.1_07.2.2.1_11.2.2_15.2.1.a.1_15.5.a_20.3.2.2.1.a_20.7.1.5_20.8_33.4.5.3_001 
另外,我不知道如何检查Access中的字符集和排序规则

谁能给我一个提示,我应该怎么做才能得到正确的结果呢?

我知道了。 我使用Collator类进行适当的分类

仅供参考(这是ArrayList的排序):

现在您不必担心access或mySQL的排序规则。你自己制定规则。当然,对这样的数组进行排序需要一些时间。
请记住,如果需要多次对大型数组进行排序,请考虑使用GeGraceKug()以提高效率。 还请记住,如果需要在收尾符中添加分号、句点、引号,请将它们放入“”。
我希望它能对你有所帮助。
问候。

Google会很快告诉您如何获取/设置数据库,但如何检索现有数据库的实际值似乎是一个行业秘密。。。