>>>>> Michael Piotrowski <[EMAIL PROTECTED]> (MP) wrote:
>MP> On 2006-07-14 "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: >>> Sybren Stuvel schrieb: >>>> Diez B. Roggisch enlightened us with: >>>>> Of course not. AFAIK there is no way figuring out which encoding the >>>>> target console supports. The best you can do is to offer an option >>>>> that allwos selection of the output encoding. >>>> >>>> You can use the LANG environment variable on many systems. On mine, >>>> it's set to en_GB.UTF-8, which causes a lot of software to >>>> automatically choose the right encoding. >>> >>> That might be a good heuristic - but on my Mac no LANG is set. So I >>> should paraphrase my statement to "There is no reliable and >>> cross-platform way figuring out which encoding the console uses". >MP> If LANG is not set, it's equivalent to setting it to "C". However, >MP> you shouldn't look directly at these variables (LANG and LC_*) but >MP> rather use the functions from the locale module, e.g.: >MP> import locale >MP> locale.setlocale(locale.LC_ALL, '') # use the current locale settings >MP> encoding = locale.nl_langinfo(locale.CODESET) But if LANG isn't set (like on Mac OS X) this doesn't give you the proper encoding. On my system I have added LANG to .profile. -- Piet van Oostrum <[EMAIL PROTECTED]> URL: http://www.cs.uu.nl/~piet [PGP 8DAE142BE17999C4] Private email: [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list