2008/5/15 Atsuo Ishimoto <[EMAIL PROTECTED]>:

> With my proposal, print("Hello\u03C8") prints "Hello\u03C8" instead of
> raising an exception. And print(repr("Hello\u03C8")) prints
> "'Hello\u03C8'", so no garbage are printed.
>
> Now, let's say you are Greek and working on Greek version of XP.
> print("Hello\u03C8") prints "Hello"+collect Greek character(GREEK
> SMALL LETTER PSI). And print(repr("Hello\u03C8")) prints
> "'Hello"+collect Greek character+"'". If you have Greek font, you can
> try this if you swich your command prompt by "chcp 1253"  (change
> codepage to 1253) on your command prompt.
>
[...]
> Python detects user's capabilities, since Python 2.x(or 1.6? I forgot.)
> On Windows, Python detects user's encoding from codepage. On Unix,
> locale is used to detect encoding.

Ah, thanks. I hadn't realised this - I've had trouble printing Unicode
in the past, and assumed it was a result of Windows' strange console
handling (OEM code pages vs Windows code pages confuse me). I use
Unicode so rarely that it wasn't worth worrying about it, though.

I guess the problem was my understanding, rather than code page
detection not working. Sorry for the confusion.

>> Like it or not, a large proportion of Python's users still work in
>> environments where much of the Unicode character space is not
>> displayed readably.
>>
>
> I agree. So rejecting my proposal as "Not common use-case" might be
> reasonable. But I should argue to get sympathy, anyway:).

As Oleg pointed out, my comment "a large proportion" was a guess, and
an unfounded one at that. And regardless, you definitely have my
sympathy, this is an issue that needs solving :-) (Heck, just the fact
that you have to write your emails to this group in a foreign language
is enough to get you my sympathy!!!)

> I can understand your aware. Perhaps you don't want see your terminal
> flash by escape sequence, beep, endless graphic characters, etc. For
> legacy byte-string applications(whether written in C or Python),
> printing arbitrary string can cause such mess. But this is unlikely to
> happen by printing the Unicode string, since the characters your
> terminal cannot understand will be escaped or be converted to
> character such as '?'.

Ah, that's what the switching of the error mode is for. I understand
more clearly now.

> Hope this helps.

It does - thanks for being patient with me.

Paul.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to