Ezio Melotti <ezio.melo...@gmail.com> 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 <rep...@bugs.python.org> <http://bugs.python.org/issue3798> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com