如何在包含非英文字符的字符串属性上使用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字符的值要低得多。