Tôi đang cố gắng thu thập một số raw_input unicode trong IDE python mặc định, và theo như tôi biết, nó phải đơn giản như:Không thể nhập unicode trong python IDE (Mac OS X)
>>> c = raw_input()
日本語
>>> print c
日本語
Tuy nhiên, khi tôi cố gắng nhập các ký tự unicode, máy tính sẽ phát ra một số lời phản đối và tôi kết thúc bằng một chuỗi rỗng. (Để làm điều này, tôi nhấp vào bộ chuyển đổi IME gần thời gian và chọn phương thức nhập phù hợp [trong trường hợp này là kiểu nhập tiếng Nhật). Bên ngoài của python IDE, đầu vào hoạt động tốt, tôi có thể nhập các ký tự và hệ thống nhận ra chúng như đã được đầu vào. Trong IDE, tôi sẽ gõ một số chữ hiragana, và cửa sổ chọn chữ kanji thả xuống xuất hiện như thường lệ, nhưng khi tôi chọn biểu diễn thích hợp và nhấn enter, những tiếng bíp đó đến và tôi không có gì cả. Tôi đoán có một thiết lập liên quan đến một nơi nào đó mà tôi đã bỏ lỡ.
phiên bản là:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
và
Python 2.5.4 (r254:67916, Jun 24 2010, 21:47:25)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
không phải trong đó làm việc. Ngoài ra còn có điều này:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> sys.stdin.encoding
'UTF-8'
>>> sys.stdout.encoding
'UTF-8'
>>> sys.getfilesystemencoding()
'utf-8'
nhưng từ những gì tôi đã đọc, mã hóa mặc định là một con thú bí ẩn. Thay đổi nó không thực sự sửa chữa bất cứ điều gì anyway. Tức là,
>>> 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!
không hoạt động. Chỉ cần thêm tiếng bíp. Tôi cũng không thể cắt và dán văn bản tiếng Nhật từ các ứng dụng khác.
Bởi "Python IDE", bạn có nghĩa là IDLE không? –
Nếu bạn ngụ ý IDLE, nó hoạt động tốt với tôi bằng Python 2.6.5. –
Tôi thực sự có nghĩa là REPL, nhưng bị tổn thương não. – fromClouds