On 2 Jun 2008, at 15:40, Allan Odgaard wrote:
On 2 Jun 2008, at 15:34, Allan Odgaard wrote:
[...] To work with UTF-8 strings written to stdout in Python you need to:
- Declare the source code to be UTF-8 (done with the encoding
comment). 2. Declare the string itself to be a unicode string (done with the u-prefix). 3. Set the output stream to be UTF-8 (done by wrapping stdout in a codec-aware writer).
If step 3 is omitted, the encoding of stdout will be taken from the environment, so often it will still work. [...]
I should have added that this is actually desired, i.e. to have Python convert the output to whatever encoding the environment is using.
Most users though does not have LC_CTYPE properly setup (but they should fix that!).
In Leopard Terminal will set LANG automatically. Unfortunately sometimes it is set to an invalid value (rdar://5564288) and IMO they should only set LC_CTYPE.
The process of learning will never become to an end (fortunately) ;) Thanks a lot!!
--Hans