Python 有很多“无法编码”和“无法解码”的问题当我从控制台运行我的应用程序时。但在 Eclipse PyDev IDE,默认字符编码设置为UTF-8 ,我很好。
四处寻找设置默认编码,有人说Python在启动时删除了sys.setdefaultencoding
函数,不能使用。
那么最好的解决方案是什么?
最佳答案
这是一个更简单的方法(hack),它可以返回从 sys
中删除的 setdefaultencoding()
函数:
import sys
# sys.setdefaultencoding() does not exist, here!
reload(sys) # Reload does the trick!
sys.setdefaultencoding('UTF8')
(Python 3.4+ 的注意事项:reload()
在 importlib
库中。)
这样做并不安全:这显然是一个 hack,因为 sys.setdefaultencoding()
是故意从 sys中删除的
Python 启动时。重新启用它并更改默认编码 can break code that relies on ASCII being the default (此代码可以是第三方的,这通常会使修复它变得不可能或很危险)。
PS:这个 hack 似乎不再适用于 Python 3.9。
关于python - 更改 Python 的默认编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276200/