Windows下的Python 3的open()的默认编码. sys.getdefaultencodin
我已经在这个问题上拔了几个小时了.
我有一个消息文件,我想使用django的makemessages命令生成,它在Linux环境中工作正常,它实际上以一种理智的方式处理语言环境设置.但是,当我在Windows下尝试相同的事情时,每次python尝试打开文件时,它都会假定它是用cp932(SHIFT-JIS)编码的,这会导致各种各样的破坏. 手动将encoding =’utf-8’添加到每个打开的调用都有效,但这不是修复问题的好方法.有没有办法强制打开使用特定的默认编码? > sys.getdefaultencoding()返回’utf-8′,由于某些神秘的原因,此设置不受尊重 这是我的python版本字符串: win32上的Python 3.3.2(v3.3.2:d047928ae3f6,2013年5月16日,00:06:53)[MSC v.1600 64位(AMD64)] 编辑:我注意到locale.getpreferredencoding()返回cp932,所以我想找到一个使用utf-8作为默认值的Windows语言环境就可以了.这样的事情甚至存在吗? 解决方法
试试这个
import locale locale.setlocale(locale.LC_ALL,'en_US.utf-8') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |