Eugene Crosser <[email protected]> added the comment:
I don't know if the solution suggested in the report is right, but I can
confirm the the current logic of getdefaultlocale() produces wrong results.
I have
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=ru_RU.UTF-8
LC_COLLATE=ru_RU.UTF-8
which means, according to the documentation, "Do everything in English, but
recognize Russian words and sort according to Russian alphabet".
All other software honors that semantics, except Python that returns Russian as
the overall default locale:
Python 2.7.1+ (r271:86832, Feb 24 2011, 15:00:15)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> print locale.getdefaultlocale()
('ru_RU', 'UTF8')
I believe that because LC_CTYPE controls only one specific aspect of the
locale, it either should not be used at all, or used only as the last resort
when locale cannot be determined from LANG or LANGUAGE. I think that the
current search order "envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')" is
wrong.
----------
nosy: +crosser
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue6981>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com