如何将Python 3 Spyder控制台中的Windows 8代码页从cp1252更改为utf-8?
代码页显然是cp1252,如
所示import locale
locale.getpreferredencoding()
这意味着在引发异常时(UnicodeEncodeError
)很难用'print'打印非ascii字符。
一种可能的解决方案是使用.encode方法及其“错误”参数。
u'\x9d'.encode('cp1252', errors='replace')
但为什么没有(或在哪里)选项将控制台编码更改为utf-8。我期待“偏好”中有一个选项。
另一个解决方案是在Spyder外部执行python文件,例如:
chcp 65001
c:\path_to_python\python.exe the_script.py
这有效但缺乏Spyder的整合性。
我尝试使用
制作批处理文件chcp 65001
c:\path_to_python\python.exe
并在“高级设置”中将其设置为“使用以下Python解释器”,但Spyder不会允许它 - 至少我尝试它的方式。
我不能通过制作批处理脚本来制作另一种解决方法:
chcp 65001
c\:path_to_spyder\Spyder.exe
答案 0 :(得分:1)
( Spyder dev here )这将在我们的下一个版本中修复(即版本 2.3.2 )。对于Python 3和Python 2,控制台中的输入和输出都将被视为该版本的unicode。