classification
Title: raw_input should encode unicode prompt with std.stdout.encoding.
Type: Stage:
Components: IO, Unicode Versions: Python 2.7, Python 2.6
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, flox, haypo, naoki
Priority: normal Keywords:

Created on 2010-01-24 05:12 by naoki, last changed 2010-10-04 13:56 by flox. This issue is now closed.

Messages (8)
msg98208 - (view) Author: INADA Naoki (naoki) * Date: 2010-01-24 05:12
raw_input and input should take unicode prompt and encode with sys.stdout.encoding like print or input in py3k.

>>> u = u"あいう"
>>> print u
あいう
>>> x = raw_input(u)
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)
>>> import sys
>>> sys.stdout.encoding
'cp932'
msg98229 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2010-01-24 15:12
I agree that would be nice, but it's usefulness would also be limited by the fact that raw_input always returns a normal string.
msg106275 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2010-05-22 01:10
The bug is fixed in Python3. I would like to say that you should use Python3 (which has a much better unicode support) instead of Python2 to get such feature, and that this issue should be closed (as wontfix).
msg106280 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2010-05-22 01:42
"and that this issue should be closed (as wontfix)."

... because this issue has no patch and we are close to 2.7rc1 (and 2.7 should be the last major version of the 3.x branch).
msg107325 - (view) Author: INADA Naoki (naoki) * Date: 2010-06-08 16:09
I agree to close this bug without fix.
I hope that Python3 will be mainstream soon.
msg107344 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2010-06-08 20:38
> I hope that Python3 will be mainstream soon.

What do you mean by "mainstream"? Python3 is available in Ubuntu (since Karmic), Fedora 13, Mandriva 2010.0, Gentoo, Debian (only Sid for now), ...
msg107361 - (view) Author: INADA Naoki (naoki) * Date: 2010-06-08 22:42
>What do you mean by "mainstream"? Python3 is available in Ubuntu (since Karmic), Fedora 13, Mandriva 2010.0, Gentoo, Debian (only Sid for now), ...

It means most of Pythonista uses Python3 rather than Python2 and
most of libraries supports Python3.

Currently, many new Pythonista starts with Python2 because libraries
they want support only it, and are suffered by UnicodeError.
msg117947 - (view) Author: Florent Xicluna (flox) * (Python committer) Date: 2010-10-04 13:56
annoying stuff, indeed...

$ python -c 'print u"La cl\xe9: "'
La clé: 

$ python -c 'raw_input(u"La cl\xe9: ")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 5: ordinal not in range(128)
History
Date User Action Args
2010-10-04 13:56:49floxsetnosy: + flox
messages: + msg117947
2010-06-08 22:42:22naokisetmessages: + msg107361
2010-06-08 20:38:39hayposetmessages: + msg107344
2010-06-08 16:14:58benjamin.petersonsetstatus: open -> closed
resolution: wont fix
2010-06-08 16:09:48naokisetmessages: + msg107325
2010-05-22 01:42:30hayposetmessages: + msg106280
2010-05-22 01:10:40hayposetnosy: + haypo
messages: + msg106275
2010-01-24 15:12:36benjamin.petersonsetpriority: normal
nosy: + benjamin.peterson
messages: + msg98229

2010-01-24 05:12:02naokicreate