Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 18, 2009 08:57:54

RIDE
От:
Зарегистрирован: 2009-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

Здравствуйте, люди добрые!

Возникает проблема кодировки при использовании os.environ, возвращает
C:\Documents and Settings\Èâàí

Помогите разобраться как сделать C:\Documents and Settings\Иван

ОС:Windows
Python 2.6



Офлайн

#2 Дек. 18, 2009 09:46:54

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

>>> os.environ['USERPROFILE'] = 'C:\\Вася'
>>> print os.environ['USERPROFILE']
C:\Вася
Д.З. Подробнее почитать о кодировках (воспользовавшись поиском по форуму).



Офлайн

#3 Дек. 18, 2009 09:57:07

RIDE
От:
Зарегистрирован: 2009-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

Проблема в другом, Винда работает в cp1251, Python в UTF-8, соответственно при выводе отображается некорректно.
Вы же сделали запись в переменную os.environ значение ‘C:\\Вася’ в кодировке Python в UTF-8, поэтому отображается корректно, задача решается по-другому:

workdir_default=unicode(os.environ['USERPROFILE'].decode('cp1251'))
Для перевода в UTF-8, с начало декодирование из cp1251.
Спасибо ВСЕМ за помощь!



Офлайн

#4 Дек. 18, 2009 10:07:43

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

RIDE
Python в UTF-8
Немного неверное утверждение. Какая версия Python?



Офлайн

#5 Дек. 18, 2009 10:23:33

RIDE
От:
Зарегистрирован: 2009-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

Читайте внимательно первый пост.



Офлайн

#6 Дек. 18, 2009 10:25:49

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

RIDE
Python в UTF-8
Тогда советую почитать: http://docs.python.org/reference/lexical_analysis.html#encoding-declarations



Офлайн

#7 Дек. 18, 2009 10:42:35

RIDE
От:
Зарегистрирован: 2009-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeDecodeError: "utf8" codec can't decode bytes

Спасибо за совет!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version