This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients ezio.melotti, lemburg, ned.deily, pnugues, r.david.murray, vstinner
Date 2015-01-08.22:37:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
> The postresq discussion and some earlier Python issues suggest using ICU to properly implement Unicode functions like collation across all platforms.

In my experience, the locale module is error-prone and not reliable, especially if you want portability. It just uses functions provided by the OS. And the locales (LC_CTYPE, LC_MESSAGE, etc.) are process-wide which become a major issue if you want to serve different clients using different locales... Windows supports a different locale per thread if I remember correctly.

It would be more reliable to use a good library like ICU. You may try:

Link showing how to use PyICU to sort a Python sequence:
=> strings.sort(key=lambda x: collator[loc].getCollationKey(x).getByteArray())
Date User Action Args
2015-01-08 22:37:48vstinnersetrecipients: + vstinner, lemburg, ned.deily, ezio.melotti, r.david.murray, pnugues
2015-01-08 22:37:48vstinnersetmessageid: <>
2015-01-08 22:37:48vstinnerlinkissue23195 messages
2015-01-08 22:37:48vstinnercreate