将非英语操作系统更改为仅在Python中输出英语

时间:2013-04-16 05:14:53

标签: python qt pyqt4 maya

我有一个Win 7韩国版(韩国版,不是语言包的终极版)。当我尝试导入PyQt4时,我在Maya中收到此错误:

from PyQt4 import QtGui

Error: Error in  maya.utils._guiExceptHook:
File "C:\Program Files\Autodesk\Maya2012\Python\lib\site-packages\maya\utils.py", line 282, in formatGuiException
exceptionMsg = unicode(exceptionObject.args[0])
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc1 in position 17: ordinal not in range(128)

所以在我的英语win7上,这不会发生。我一直在阅读这里的问题和python中unicode的一些网站。我意识到这种问题应该在某个地方处理,但是我没有编写库,所以我现在无能为力。

我假设此错误来自操作系统的语言,如果是这样,是否可以解决此问题?我的Maya版本是英文的,但韩国似乎还有其他的东西?

任何想法?

由于

1 个答案:

答案 0 :(得分:2)

您可能想尝试使用sys.setdefaultencoding。要使用它,您可能需要在site.pysitecustomize.py文件中对其进行调用,因为正如文档所述:

  

site模块使用后,它将从sys模块的命名空间中删除。

我首先尝试utf-8,因为C1是一个有效的UTF-8起始字节,而UTF-8是有意义的。如果这不起作用,那么我认为有一些韩国特定的编码,但不幸的是,我对它们知之甚少。如果UTF-8不起作用,则this list of encodings supported by Python表示您可能需要尝试euc_kriso2022_krcp949johab或{{1} }。