utf-8编码在iPython控制台中工作,而不是在Spyder编辑器中

utf-8编码在iPython控制台中工作,而不是在Spyder编辑器中,python,utf-8,spyder,Python,Utf 8,Spyder,这是最低限度的测试。在Spyder编辑器中,我写了这4行(没有其他内容) 我得到: utf-8 µ 但如果我只是在iPython控制台中复制粘贴这两行,我会得到 我的.py文件或spyder编辑器有什么问题 我的.py文件或spyder编辑器有什么问题 问题很可能是您正在使用Windows,而控制台将您的输出解释为Windows-1252(西欧Windows的默认控制台编码): >>“µ”。编码(“utf-8”)。解码(“windows-1252”) 'µ' 不清楚第一个代码片段是sp

这是最低限度的测试。在Spyder编辑器中,我写了这4行(没有其他内容)

我得到:

utf-8
µ
但如果我只是在iPython控制台中复制粘贴这两行,我会得到

我的.py文件或spyder编辑器有什么问题

我的.py文件或spyder编辑器有什么问题

问题很可能是您正在使用Windows,而控制台将您的输出解释为Windows-1252(西欧Windows的默认控制台编码):

>>“µ”。编码(“utf-8”)。解码(“windows-1252”)
'µ'
不清楚第一个代码片段是spyder控制台还是windows控制台中的普通
python
shell

与任何事情都毫无关系
sys.getdefaultencoding()
是内部python编码


您可以尝试使用
PYTHONIOENCODING
,或者查看
locale.getpreferredencoding()
返回的内容。

多亏了@Carlos Cordoba(Spyder的大师),我解决了这个问题

我在记事本+中打开了该文件,并将其转换为“UTF-8 BOM”(它是UTF-8,但没有BOM)


现在它可以工作了

哪种版本的Python?(又名,为什么
u“…”
?)。您确定没有执行复制/粘贴错误(因此添加了一个不可见字符(如颜色))?该文件也可能以非“
utf-8
”的格式保存,这是导致问题的原因。我在家(我的意思是,在另一台计算机上)尝试了Spyder 4.1.5,但没有重现此问题。该文件是在spyder中创建的,所以我猜它是在utf-8中。第一行“#——编码:utf-8——”已经在那里了。我的Python版本:3.7.6,Spyder 4.0.1在Spyder编辑器中,当我按F5时,它将文件执行到iPython控制台(也显示在Spyder GUI中)。我直接在iPython控制台中测试相同的代码(复制粘贴),但没有得到相同的结果。
utf-8
µ
print(sys.getdefaultencoding() )