Próbuję zebrać trochę unicode raw_input w IDE Pythona domyślne, io ile mi wiadomo, powinno być tak proste, jak:Nie można wejściowe unicode w IDE Pythona (Mac OS X)
>>> c = raw_input()
日本語
>>> print c
日本語
Jednak, gdy próbuję wprowadzić znaki Unicode, komputer generuje sygnały dźwiękowe i kończy się pustym łańcuchem. (Aby to zrobić, klikam przełącznik IME w pobliżu czasu i wybieram odpowiednią metodę wprowadzania danych (w tym przypadku japońskie wejście). Poza IDE Pythona, dane wejściowe działają dobrze, mogę wprowadzić znaki i system rozpoznaje je jako dane wejściowe. W IDE napiszę jakąś hiraganę, a okno wyboru kanji pojawi się jak zwykle, ale kiedy wybiorę odpowiednią reprezentację i uderzę enter, usłyszę te dźwięki i kończę z niczym. Sądzę, że jest to miejsce, które przeoczyłem.
wersjach:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
i
Python 2.5.4 (r254:67916, Jun 24 2010, 21:47:25)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
których praca nie. Jest też:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> sys.stdin.encoding
'UTF-8'
>>> sys.stdout.encoding
'UTF-8'
>>> sys.getfilesystemencoding()
'utf-8'
ale z tego, co przeczytałem, domyślne kodowanie jest tajemniczą bestią. Zmiana i tak niczego nie naprawi. To znaczy, że nie działa
>>> import sys
>>> sys.setdefaultencoding('utf-8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'setdefaultencoding'
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf-8')
>>> # !!!
... c = raw_input()
no dice!
. Po prostu więcej piszczenia. Nie mogę też wycinać japońskiego tekstu z innych aplikacji.
Przez "Python IDE" masz na myśli IDLE? –
Jeśli masz na myśli IDLE, działa dobrze dla mnie w Pythonie 2.6.5. –
Właściwie miałem na myśli REPL, ale z powodu mózgu. – fromClouds