备忘用。
专用于 windows
# 返回真正的编码,CP936
locale.getpreferredencoding() # cp936
# 方法2,限定 python3.11 及以上版本
locale.getencoding() # cp936
# 这些都会返回UTF-8,不是真正的系统编码。
sys.getdefaultencoding() # utf8
sys.getfilesystemencoding() # utf8
参考链接:
https://docs.python.org/3.11/library/sys.html#sys.getfilesystemencoding
https://docs.python.org/3.11/library/sys.html#sys._enablelegacywindowsfsencoding
Python在Windows系统中的编码识别与设置,
本文讨论了Python在Windows环境下获取和确认正确编码的问题,介绍了locale.getpreferredencoding()和sys模块的不同方法,指出它们默认返回的是UTF-8,而实际需要的是CP936。还提到了sys._enablelegacywindowsfsencoding的作用。
263

被折叠的 条评论
为什么被折叠?



