New submission from Tomasz Melcer <li...@o2.pl>: Invitation... (Debian Sid, gnome-terminal with pl_PL.UTF8 locales)
Python 2.5.4 (r254:67916, Feb 17 2009, 20:16:45) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. Lets create some class... >>> class T(object): ... def __repr__(self): return u'あみご' ... Does its repr() work? >>> T().__repr__() u'\u3042\u307f\u3054' >>> print T().__repr__() あみご But when it is implicitly called, it doesnt?! >>> T() Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) >>> print T() Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) Encoding: >>> import sys >>> sys.stdin.encoding 'UTF-8' >>> sys.stdout.encoding 'UTF-8' Workaround for now: >>> class T(object): ... def __repr__(self): return u'あみご'.encode('utf-8') ... ---------- components: Extension Modules messages: 86798 nosy: liori severity: normal status: open title: __repr__ returning unicode doesn't work when called implicitly type: behavior versions: Python 2.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue5876> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com