将Python 3 Spyder控制台中的Windows 8代码页从cp1252更改为utf-8

时间:2014-11-03 15:32:33

标签: python encoding windows-8 utf-8 spyder

如何将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

1 个答案:

答案 0 :(得分:1)

Spyder dev here )这将在我们的下一个版本中修复(即版本 2.3.2 )。对于Python 3和Python 2,控制台中的输入和输出都将被视为该版本的unicode。