2014-12-18 77 views
5

所以,我搜索互联网低谷,它是如此令人沮丧。当我尝试搜索时,我会解释如何对Unicode文件进行解码和编码。但我对此不感兴趣。我知道这是可能的,因为我能够做到这一点。我不知道发生了什么事。另外,我试过重新安装python。更改配置IDLE下的选项等。在我的笔记本电脑上根本没有问题。我可以这样做:无法输入(C(C S)žDJ)在Python 2.7.x控制台

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

而且我的电脑上我得到:

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

我再说一遍,我不是在谈论的程序编码。我在谈论Python控制台,它在我的笔记本电脑上工作,并在我以前的机器上工作。这是一个解决这个问题的方法。

另外,还要看看这个:

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

>>> 
+2

Windows控制台不支持......空闲并和大多数的IDE都不过有支持 – 2014-12-18 22:47:24

+0

肯定这是Python 2.7版在笔记本电脑上的控制台? – Carsten 2014-12-18 22:47:59

+1

你是在一个运行Python 2而在另一个运行Python 3吗?当你尝试'a =u'ç''时会发生什么? – Ajean 2014-12-18 22:48:53

回答

1

Windows控制台是什么可以显示的限制。您可以使用旧的DOS CHCP命令更改代码页。

CHCP 65001 

这会将代码页更改为UTF-8,并使控制台更放松。你可能会看到一个正方形而不是实际的字符,但至少你不会看到错误。

+0

问题出在空闲控制台上,而不是Windows控制台上。这将不起作用。 – 2014-12-18 23:58:34

+0

空闲外壳可以接受和显示基本多语言平面中的任何字符,因为tcl/tk也是如此。这比Windows控制台好得多。 – 2014-12-19 16:21:05

+0

@TerryJanReedy在显示部分为true,但在接受部分为false。 – 2014-12-20 06:05:06

-3

尝试:

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

**请**不要货物邪教。你应该从不**改变Python的默认编码;有一个*非常好的理由*该函数从'sys'中移除。改变默认的编码方式就像忽略了将一根棍子绑在它上面并继续走路而不是去医生那里正确设置骨头来打断你的腿。 – 2014-12-18 22:58:42

+1

这是除了这样做的事实,*这并不能解决手头的问题*。 – 2014-12-18 23:00:37