Как использовать Query.order () для строковых свойств, содержащих не английские символы? - PullRequest
4 голосов
/ 18 октября 2010

Как использовать 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

Есть ли способ обойти это?Кроме того, чтобы поместить другое свойство с английскими нормализованными строковыми значениями только для упорядочивания?

1 Ответ

5 голосов
/ 18 октября 2010

Нормализация строк в отдельное свойство - единственное решение того, что вы хотите; они сортируются по кодам Unicode, а буквы, являющиеся частью ASCII, имеют гораздо более низкие значения, чем не-ASCII символы.

...