Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 1, 2012 23:52:54

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Проблема кодировки 2.7

Доброго времени суток.
Работая с odfpy под ХР проблем не возникало. В случае перехода на 7 появился такой косяк.

ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)
Причем это при попытке обработать фотографию. Т.е. строка
date = textdoc.addPicture("02_cap.jpg")
Вызывает такую ошибку. Переход по ошибке дает следующий результат.
def enum_types(mimedb):
i = 0
while True:
try:
ctype = _winreg.EnumKey(mimedb, i)
except EnvironmentError:
break
try:
ctype = ctype.encode(default_encoding) # omit in 3.x!
except UnicodeEncodeError:
pass
else:
yield ctype
i += 1

default_encoding = sys.getdefaultencoding()
Прошу пояснить причины и, если можно, дать рекомендации по решению проблемы.
Кстати. Забыл сказать. Убирая строку с вставкой фотографии - все работает. Т.е. на текст эта ошибка не влияет.



Отредактировано 4kpt (Дек. 1, 2012 23:55:47)

Офлайн

#2 Дек. 2, 2012 10:00:59

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Проблема кодировки 2.7

Скорее всего в реестре есть mime типы с русскими буквами в названии. Какой-то кодек постарался.
Такая проблема была с Django.
http://bugs.python.org/issue9291
http://habrahabr.ru/post/144121/ - тут решение

Офлайн

#3 Дек. 2, 2012 14:54:29

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Проблема кодировки 2.7

reclosedev
Буду пробовать. Заранее благодарен. Родина Вам этого не забудет…



Офлайн

#4 Дек. 2, 2012 16:21:08

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Проблема кодировки 2.7

reclosedev
Все работает. Спасибо большое. Просто очень серьезно выручил. Я уже думал, что не смогу портировать свои программы на разные версии windows. Как-то даже сник… Да и время мне съекономил. Пришлось бы на вновь купленный комп часа 3 ставить систему с программами.
Еще раз благодарю…



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version