设置io编码为utf8后,python输入EOFError

时间:2016-08-22 02:28:16

标签: python encoding utf-8 eof

Python版本:3.5
操作系统版本:Windows7

设置环境变量PYTHONIOENCODING=utf-8之后,我可以按照我的预期打印一些utf8字符串(如爱情符号\ u2665,韩语单词和日语单词)。
(在此之前,我只能用gbk编码输入中文单词,但它完全正常。)
但现在我无法使用input()获取任何非字母数字字符,它会引发EOFError。

你好:♥・                                                                            
Traceback (most recent call last):                                                  
  File "codeTest2.py", line 9, in <module>                                          
    key = input('你好:')                                                            
')                                                                                  
EOFError    




顺便说一句: 当我使用print()打印一些utf8字符串时,(这里是中文单词,字母,韩国单词,表情符号和特殊字符)

s2 = '송하나 ♥ ♥・'
print('作者id'+s2+'\n')

终端打印:(一个奇怪的&#34;倒锥形塔&#34;)

作者id송하나 ♥ ♥・                                                                
나 ♥ ♥・                                                                          
� ♥・                                                                              
�・ 

1 个答案:

答案 0 :(得分:0)

您使用的是哪种编译器和终端?

在Python 3.5 IDLE中,这很好用:

key=input('输入:')

在Python 2.7 IDLE中,这很好用:

key=raw_input('输入:') 

但是在崇高的Text 3中,我应该使用它来声明使用utf-8:

# coding=u8

所以请告诉你的情况和代码:)