[issue2481] locale.strxfrm does not work with Unicode strings
Christoph Zwerschke
report at bugs.python.org
Tue Mar 25 15:33:55 CET 2008
New submission from Christoph Zwerschke <cito at online.de>:
While locale.strcoll seems to work with Unicode strings, locale.strxfrm
gives a UnicodeError. Example:
###
try:
locale.setlocale(locale.LC_ALL, 'de')
except locale.Error: # Windoof
locale.setlocale(locale.LC_ALL, 'german')
s = ['Ägypten', 'Zypern']
print sorted(s, cmp=locale.strcoll) # works
print sorted(s, key=locale.strxfrm) # works
s = [u'Ägypten', u'Zypern']
print sorted(s, cmp=locale.strcoll) # works
print sorted(s, key=locale.strxfrm) # UnicodeError
###
Therefore, it is not possible to sort lists of Unicode strings
effectively. If possible, this should be fixed. If not possible, this
problem should at least be mentioned in the documentation. Currently,
the docs do not indicate that strcoll and strxfrm behave differently
concerning Unicode.
----------
components: Unicode
messages: 64484
nosy: cito
severity: normal
status: open
title: locale.strxfrm does not work with Unicode strings
type: behavior
versions: Python 2.5
__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue2481>
__________________________________
More information about the Python-bugs-list
mailing list