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 <1420756668.71.0.728045804199.issue23195@psf.upfronthosting.co.za>
In-reply-to
Content
> 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:
https://pypi.python.org/pypi/PyICU

Link showing how to use PyICU to sort a Python sequence:
https://stackoverflow.com/questions/11121636/sorting-list-of-string-with-specific-locale-in-python
=> strings.sort(key=lambda x: collator[loc].getCollationKey(x).getByteArray())
History
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: <1420756668.71.0.728045804199.issue23195@psf.upfronthosting.co.za>
2015-01-08 22:37:48vstinnerlinkissue23195 messages
2015-01-08 22:37:48vstinnercreate