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

Jan*_*zny 4 python google-app-engine google-cloud-datastore

如何在包含非英文字符的字符串属性上使用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
Run Code Online (Sandbox Code Playgroud)

这套装置的正确使用者应该是:

Dolno?l?skie
Kujawsko-Pomorskie 
?ódzkie
Lubelskie
Lubuskie
Ma?opolskie
Mazowieckie
Opolskie
Podkarpackie
Podlaskie
Pomorskie
?l?skie
?wi?tokrzyskie
Warmi?sko-Mazurskie
Wielkopolskie
Zachodniopomorskie
Run Code Online (Sandbox Code Playgroud)

有办法吗?除了为了订购而放置另一个带有英文标准化字符串值的属性之外?

Woo*_*ble 5

将字符串规范化为单独的属性是您想要的唯一解决方案; 它们按照unicode代码点排序,ASCII中的字母比非ASCII字符的值低得多.