Я пытаюсь собрать некоторый unicode raw_input в IDE Python по умолчанию, и, насколько я знаю, это должно быть так просто, как:
>>> c = raw_input()
日本語
>>> print c
日本語
Однако, когда я пытаюсь ввести символы Юникода, компьютер издает некоторые протесты, и я получаю пустую строку. (Для этого я нажимаю на переключатель IME рядом с временем и выбираю подходящий метод ввода [который в данном случае является японским вводом). Вне Python IDE ввод работает нормально, я могу вводить символы, и система распознает их как введенные. В IDE я наберу немного хираганы, и выпадающее окно выбора кандзи появляется как обычно, но когда я выбираю подходящее представление и нажимаю ввод, появляются эти гудки, и я ничего не получаю. Я полагаю, что где-то есть сеттинг, который я пропустил.
версии:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
и
Python 2.5.4 (r254:67916, Jun 24 2010, 21:47:25)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
ни одна из которых не работает. Там также это:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> sys.stdin.encoding
'UTF-8'
>>> sys.stdout.encoding
'UTF-8'
>>> sys.getfilesystemencoding()
'utf-8'
но из того, что я прочитал, кодировка по умолчанию - загадочный зверь. Изменение его на самом деле ничего не исправит. То есть
>>> 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!
не работает. Просто больше звуков. Я также не могу вырезать и вставить японский текст из других приложений.