How to emit UTF-8 from console mode?
Mark Tolonen
M8R-yfto6h at mailinator.com
Wed Oct 1 22:20:29 EDT 2008
"Ross Ridge" <rridge at csclub.uwaterloo.ca> wrote in message
news:gc10lj$jqe$1 at rumours.uwaterloo.ca...
>> I need UTF-8 because I need to experiment with some OS function calls
>> that
>> give me UTF-16 and I need to emit UTF-16 or UTF-8.
>
> <martin at v.loewis.de> wrote:
>>Try setting the code page to 65001, and emit the UTF-8 explicitly.
>
> Hmm... apparently that's not allowed on Windows XP:
>
> C:\> chcp 65001
> Active code page: 65001
>
> C:\> python -c "for i in range(0x410, 0x430): print
> unichr(i).encode('utf-8')"
> Traceback (most recent call last):
> File "<string>", line 1, in <module>
> IOError: [Errno 13] Permission denied
>
> This works though:
>
> C:\> python -c "for i in range(0x410, 0x430): print
> unichr(i).encode('utf-8')" > x
>
> C:\> type x
> [a bunch of Cyrillic letters]
>
> Hmm... "more x" doesn't work, while "copy x con" works but gives an error.
> Looks like Windows XP support UTF-8 console output is a bit half-assed.
It is odd, though, that when the code page (and font) are correct,
redirecting to a file and typing it work, but printing the result to the
console does not
More information about the Python-list
mailing list