In Leopard (OSX 10.5), it looks like LANG is set to convey this: it
has the value en_US.UTF-8 for me, and I haven't done anything to
change it. The Preferences dialog is completely changed from 10.4 and
there's a checkbox (on by default AFAIK) to set the LANG variable.
(However I've noticed that it doesn't set an encoding when I specify
another encoding other than UTF-8 -- perhaps because there is
interaction with the Language choice.)

In 10.4 LANG isn't set at all. The effect is that in 10.5,
sys.stdout.encoding defaults to UTF-8 but in 10.4 to US-ASCII.

Maybe a decent rule of thumb would be:

- if LANG is set, use the encoding it specifies; if there's no
encoding in it, assume it's ASCII.

- if LANG is *not* set, default to UTF-8 instead of to US-ASCII; UTF-8
is much more likely to be correct and useful for 10.4 and before.

--Guido

On Thu, Feb 14, 2008 at 2:21 PM, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote:
> > The code that guesses the default stdout encoding isn't very good,
>  > especially not on OSX. Suggestions are welcome.
>
>  Unfortunately, Apple isn't very cooperative here. There is no way
>  of determining the encoding of a Terminal.app window, AFAIK
>  (it's normally UTF-8, unless the user has changed it).
>
>  Regards,
>  Martin
>



-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to