[Python-Dev] str.ascii_lower
Guido van Rossum
guido at python.org
Mon Dec 29 12:47:39 EST 2003
> This post caused me to notice the following behavior. Is it "right"?
>
> >>> import locale
> >>> locale.setlocale(locale.LC_CTYPE, "tr_TR")
> 'tr_TR'
> >>> locale.getlocale()[1] # Expected charset
> 'ISO8859-9'
> >>> "I".lower() # Expected behavior
> '\xfd'
> >>> u"I".lower() # Python bug? (should be u'\u0131')
> u'i'
Why? Unicode strings are not affected by the locale.
> >>> locale.setlocale(locale.LC_CTYPE, "tr_TR.UTF-8")
> 'tr_TR.UTF-8'
> >>> "I".lower() # C library bug? (should be "\xc4\xb1")*
> 'I'
> >>> locale.setlocale(locale.LC_CTYPE, "en_US.UTF-8")
> 'en_US.UTF-8'
> >>> "I".lower() # (UTF-8 locale works properly in english)
> 'i'
I have no idea what adding UTF8 to the local means. Is this something
that Python's locale-awareness does or is it simply recognized by the
C library?
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list