Ezio Melotti <[email protected]> added the comment:
I did some more experiments, here are the results:
Windows XP, from cmd.exe (cp850):
Py 2.x:
>>> raise SystemExit(u'aeiou') # unicode string, ascii chars, works fine
aeiou
>>> raise SystemExit(u'àèìòù') # unicode string, non-ascii chars, no output
>>> raise SystemExit('àèìòù') # byte strings, non-ascii chars, works fine
àèìòù
Py 3.0:
>>> raise SystemExit('àèìòù') # unicode string, non-ascii chars, wrong
output
àèìòù
The output here is utf-8 and cmd shows it as cp850.
Linux, UTF-8 terminal:
Py 2.x:
>>> raise SystemExit(u'àèìòù') # unicode string, non-ascii chars, no output
There's no output even if the terminal uses utf-8.
Py 3.x:
>>> raise SystemExit('àèìòù') # unicode string, non-ascii chars, works fine
àèìòù
When a unicode string with non-ascii characters is passed:
* Py2 always fails (no output);
* Py3 works only when the terminal uses utf-8, otherwise it fails (the
chars are displayed using another encoding).
----------
components: +Unicode
nosy: +ezio.melotti
priority: -> normal
type: -> behavior
versions: +Python 2.6, Python 2.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue3798>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com