Измените неанглийскую ОС, чтобы выводить только английский язык в Python

У меня есть корейская версия Win 7 (корейская версия, а не максимальная с языковым пакетом). Я получаю эту ошибку в Maya, когда пытаюсь импортировать PyQt4:

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 этого не происходит. Я читал вопросы здесь и на некоторых сайтах о юникоде в питоне. Я понимаю, что такого рода проблемы должны быть где-то решены, но я не писал библиотеки, поэтому ничего не могу с этим поделать.

Я предполагаю, что эта ошибка связана с языком ОС, если да, то можно ли это исправить? Моя версия Maya на английском языке, но, кажется, что-то еще происходит на корейском языке?

Любые идеи?

Спасибо


person user-2147482637    schedule 16.04.2013    source источник
comment
спасибо за исправление кода!   -  person user-2147482637    schedule 16.04.2013


Ответы (1)


Вы можете попробовать использовать sys.setdefaultencoding. Чтобы использовать его, вам, вероятно, придется поместить вызов в ваши файлы site.py или sitecustomize.py, потому что, как указано в документации:

После использования модулем site он удаляется из пространства имен модуля sys.

Сначала я бы попробовал utf-8, поскольку C1 является допустимым стартовым байтом UTF-8, а UTF-8 имело бы смысл. Если это не сработает, то я думаю, что есть несколько корейских кодировок, но, к сожалению, я мало о них знаю. Если UTF-8 не работает, этот список кодировок, поддерживаемых Python предполагает, что вы можете попробовать euc_kr, iso2022_kr, cp949, johab или iso2022_jp_2.

person icktoofay    schedule 16.04.2013