Найти - Пользователи
Полная версия: Проблема кодировки 2.7
Начало » Python для новичков » Проблема кодировки 2.7
1
4kpt
Доброго времени суток.
Работая с 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()
Прошу пояснить причины и, если можно, дать рекомендации по решению проблемы.
Кстати. Забыл сказать. Убирая строку с вставкой фотографии - все работает. Т.е. на текст эта ошибка не влияет.
reclosedev
Скорее всего в реестре есть mime типы с русскими буквами в названии. Какой-то кодек постарался.
Такая проблема была с Django.
http://bugs.python.org/issue9291
http://habrahabr.ru/post/144121/ - тут решение
4kpt
reclosedev
Буду пробовать. Заранее благодарен. Родина Вам этого не забудет…
4kpt
reclosedev
Все работает. Спасибо большое. Просто очень серьезно выручил. Я уже думал, что не смогу портировать свои программы на разные версии windows. Как-то даже сник… Да и время мне съекономил. Пришлось бы на вновь купленный комп часа 3 ставить систему с программами.
Еще раз благодарю…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB