[New-bugs-announce] [issue1995] localeconv() does not encode returned strings
Antoine Pitrou
report at bugs.python.org
Fri Feb 1 19:13:48 CET 2008
New submission from Antoine Pitrou:
Some values in the dict returned by localeconv() may be non-ASCII
strings, yet they are not decoded according to the locale's character
set. This can be observed when the currency symbol is the euro sign:
>>> import locale
>>> locale.setlocale(locale.LC_MONETARY, 'fr_FR.UTF-8')
'fr_FR.UTF-8'
>>> locale.localeconv()['currency_symbol']
'\xe2\x82\xac'
>>> locale.setlocale(locale.LC_MONETARY, 'fr_FR.ISO8859-15')
'fr_FR.ISO8859-15'
>>> locale.localeconv()['currency_symbol']
'\xa4'
localeconv() is defined in the _locale module, which has no knowledge of
the current encoding - but the locale module does. So we could redefine
localeconv() in locale as a wrapper, to do the proper encoding dance.
----------
components: Extension Modules
messages: 61970
nosy: pitrou
severity: normal
status: open
title: localeconv() does not encode returned strings
type: behavior
versions: Python 3.0
__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue1995>
__________________________________
More information about the New-bugs-announce
mailing list