2014-12-18 14 views
5

Vì vậy, tôi đã tìm kiếm trên máng internet và nó rất bực bội. Khi tôi cố gắng tìm kiếm tôi nhận được giải thích về cách unicode giải mã và mã hóa các tập tin. Nhưng tôi không quan tâm đến điều đó. Tôi biết điều này là có thể vì tôi đã có thể làm điều đó. Tôi không biết chuyện gì đã xảy ra. Ngoài ra, tôi đã thử cài đặt lại python. Thay đổi các tùy chọn theo cấu hình IDLE vv Trên máy tính xách tay của tôi không có vấn đề gì cả. Tôi có thể làm điều này:Không thể nhập (č ć š ž đ) trong giao diện điều khiển python 2.7.x

>> a = 'ć' 
>> 
>> print a 
>> ć 

Và trên máy tính của tôi, tôi nhận được:

>> a = 'ć' 
>> Unsupported characters in input 

Tôi nhắc lại, tôi không nói về mã hóa trong chương trình. Tôi đang nói về giao diện điều khiển Python, và nó hoạt động trên máy tính xách tay của tôi và làm việc trên các máy trước đây của tôi. Phải có một giải pháp cho vấn đề này.

Ngoài ra, hãy xem xét điều này:

>>> a = u'ç' 
>>> a 
u'\xe7' 
>>> print a 
ç 
>>> a = u'ć' 
Unsupported characters in input 

>>> 
+2

các cửa sổ giao diện điều khiển không hỗ trợ mà ... nhàn rỗi không và nhất ide làm tuy nhiên có console có hỗ trợ mà –

+0

Chắc chắn đó là Python 2.7 trên máy tính xách tay của bạn? – Carsten

+1

Bạn đang chạy Python 2 trong một và Python 3 trong một cái khác? Điều gì xảy ra khi bạn thử 'a = u'ç''? – Ajean

Trả lời

1

Windows console được giới hạn trong những gì nó có thể hiển thị. Bạn có thể thay đổi trang mã bằng lệnh DOS CHCP cũ.

CHCP 65001 

Điều này sẽ thay đổi trang mã thành UTF-8 và làm cho bảng điều khiển thoải mái hơn. Bạn có thể sẽ thấy một hình vuông thay vì ký tự thực tế, nhưng ít nhất bạn sẽ không thấy lỗi.

+0

Vấn đề là với bảng điều khiển IDLE, không phải bảng điều khiển Windows. Điều này sẽ không có hiệu lực. –

+0

The Idle Shell có thể chấp nhận và hiển thị bất kỳ ký tự nào trong mặt phẳng đa ngôn ngữ cơ bản vì điều này cũng đúng với tcl/tk. Điều này tốt hơn nhiều so với giao diện điều khiển Windows. –

+0

@TerryJanReedy đúng trên phần hiển thị nhưng sai trên chấp nhận. –

-3

Cố gắng:

import sys 
reload(sys) 
sys.setdefaultencoding('utf-8') 
... 
+6

** Vui lòng không quảng cáo hàng hóa. Bạn không nên ** thay đổi mã hóa mặc định của Python; có một lý do * rất tốt * rằng chức năng được lấy ra từ 'sys'. Thay đổi mã hóa mặc định cũng giống như bỏ qua việc bị gãy chân bằng cách buộc một cây gậy vào nó và tiếp tục đi bộ hơn là đi khám bác sĩ để đặt xương đúng cách. –

+1

Điều này ngoài việc thực tế việc này * không giải quyết được vấn đề ở bàn tay *. –

Các vấn đề liên quan