一尘不染

更改Python的默认编码?

python

从控制台运行应用程序时,Python存在许多“无法编码”和“无法解码”的问题。但是在Eclipse PyDev IDE中,默认字符编码设置为UTF-8,我很好。

我四处寻找设置默认编码的方法,有人说Python sys.setdefaultencoding在启动时会删除该函数,因此我们无法使用它。

那么什么是最好的解决方案?


阅读 744

收藏
2020-02-11

共1个答案

一尘不染

这是一个更简单的方法(黑客),可为你提供setdefaultencoding()从中删除的功能sys:

import sys
# sys.setdefaultencoding() does not exist, here!
reload(sys)  # Reload does the trick!
sys.setdefaultencoding('UTF8')

不过,这并不是一件安全的事情:这显然是一个hack,因为sys.setdefaultencoding()有意将其从sysPython启动时删除。重新启用它并更改默认编码可能会破坏依赖于ASCII的默认代码(此代码可以是第三方的,这通常会使修复它变得不可能或危险)。

2020-02-11