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

设置io编码为utf8后的python输入EOFError,python,encoding,utf-8,eof,Python,Encoding,Utf 8,Eof,Python版本:3.5 操作系统版本:Windows7 设置环境变量PYTHONIOENCODING=utf-8后,我可以按预期打印一些utf8字符串(如爱情符号\u2665、韩国单词和日本单词)。 (在此之前,我只能使用gbk编码输入中文单词,但它完全可以正常工作。) 但是现在我不能使用input()来获取任何非字母数字字符,这将提高EOR 你好:♥・

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

设置环境变量
PYTHONIOENCODING=utf-8
后,我可以按预期打印一些utf8字符串(如爱情符号\u2665、韩国单词和日本单词)。
(在此之前,我只能使用gbk编码输入中文单词,但它完全可以正常工作。)
但是现在我不能使用
input()
来获取任何非字母数字字符,这将提高EOR

你好:♥・                                                                            
Traceback (most recent call last):                                                  
  File "codeTest2.py", line 9, in <module>                                          
    key = input('你好:')                                                            
')                                                                                  
EOFError    
终端打印:(一个奇怪的“倒锥塔”)


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

在Python 3.5 IDLE中,这可以很好地工作:

key=input('输入:')
key=raw_input('输入:') 
在Python2.7 IDLE中,这可以很好地工作:

key=input('输入:')
key=raw_input('输入:') 
但在sublime文本3中,我应该用它来声明使用utf-8:

# coding=u8

所以请给出您的情况和代码:)

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

在Python 3.5 IDLE中,这可以很好地工作:

key=input('输入:')
key=raw_input('输入:') 
在Python2.7 IDLE中,这可以很好地工作:

key=input('输入:')
key=raw_input('输入:') 
但在sublime文本3中,我应该用它来声明使用utf-8:

# coding=u8

所以请给出您的情况和代码:)

我使用VSCode集成终端和windows cmd.exe。IDLE do工作正常,但我仍想知道如何解决此问题。谢谢。我已通过
python3 input_test.py
使用了cmd.exe,工作正常。您的问题到底是什么?您是否使用了
#coding=u8
?添加
#coding=u8
后没有什么不同。我只能说我已经在环境变量中更改了python io编码。我使用VSCode集成终端和windows cmd.exe。IDLE do工作正常,但我仍想知道如何解决此问题。谢谢。我已通过
python3 input_test.py
使用了cmd.exe,工作正常。您的问题到底是什么?您是否使用了
#coding=u8
?添加
#coding=u8
后没有什么不同。我只能说我已经改变了环境变量中的python io编码。