蟒蛇输入的EOFError组IO编码为UTF8

问题描述:

Python版本后:3.5
OS版本:Windows7的蟒蛇输入的EOFError组IO编码为UTF8

我设置环境变量PYTHONIOENCODING=utf-8后,我可以打印一些UTF8字符串(如爱情符号\ u2665,韩国话和日语字),如我所料。
(在此之前,我只能用gbk编码输入中文单词,但其完全正常工作)。
但是现在我不能使用input()来获取任何非字母数字字符,它会引发EOFError。

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





BTW: 当我使用 print()打印一些UTF8字符串,(这里是中国人的话,字母,韩国的话,表情符和特殊字符)

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

终端打印:(一个奇怪的“倒锥形塔”)

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

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

在Python 3.5 IDLE,这工作得很好:

key=input('输入:') 

而且在Python 2.7 IDLE,这工作得很好:

key=raw_input('输入:') 

但在崇高的文本3,我应该利用这个使用申报UTF-8:

# coding=u8 

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

+0

我使用VSCode集成终端和windows cmd.exe。 IDLE做得很好,但我仍然想知道如何解决这个问题。谢谢。 –

+0

我使用'python3 input_test.py'命名cmd.exe,它工作正常。究竟是什么问题?你有使用'#coding = u8'吗? – pingze

+0

添加'#coding = u8'后没有什么不同。我只能说我是在环境变量中更改了python io编码。 –