如何在包含非英文字符的字符串属性上使用Query.order()?

问题描述:

如何在包含非英文字符的字符串属性上使用Query.order(),以便按正确顺序读取实体?如何在包含非英文字符的字符串属性上使用Query.order()?

Query.order奇怪的是把任何非英语字符在列表的末尾,就像这样:

Dolnośląskie 
Kujawsko-Pomorskie 
Lubelskie 
Lubuskie 
Mazowieckie 
Małopolskie <- incorrect order 
Opolskie 
Podkarpackie 
Podlaskie 
Pomorskie 
Warmińsko-Mazurskie 
Wielkopolskie 
Zachodniopomorskie 
Łódzkie <- incorrect order 
Śląskie <- incorrect order 
Świętokrzyskie <- incorrect order 

如果此设置正确瑞德尔建议立即进行删除是:

Dolnośląskie 
Kujawsko-Pomorskie 
Łódzkie 
Lubelskie 
Lubuskie 
Małopolskie 
Mazowieckie 
Opolskie 
Podkarpackie 
Podlaskie 
Pomorskie 
Śląskie 
Świętokrzyskie 
Warmińsko-Mazurskie 
Wielkopolskie 
Zachodniopomorskie 

是有没有办法呢?除了将另一个属性与英文标准化的字符串值仅仅用于排序?

将字符串标准化为单独的属性是您想要的唯一解决方案;它们按unicode代码点进行排序,并且作为ASCII一部分的字母的值比非ASCII字符的值要低得多。