蟒蛇输入的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
所以,请给您的情况和代码:)
我使用VSCode集成终端和windows cmd.exe。 IDLE做得很好,但我仍然想知道如何解决这个问题。谢谢。 –
我使用'python3 input_test.py'命名cmd.exe,它工作正常。究竟是什么问题?你有使用'#coding = u8'吗? – pingze
添加'#coding = u8'后没有什么不同。我只能说我是在环境变量中更改了python io编码。 –