Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2010 09:20:57

Sea
От:
Зарегистрирован: 2010-04-13
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

кодировки

Распаковываю архив:
zp = zipfile.ZipFile(filename)
zp.extractall()
в архиве хранятся файлы с русскими буквами, а я на выходе получаю кракозябры. Чем полечить?



Офлайн

#2 Май 5, 2010 13:59:11

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

кодировки

Гы! Сколько постов про кодировки не было, но этот явно самый содержательный и подробный:):):)
Даже не знаю что сказать, да с чего начать…
Ну если проблемы с кодировкой, тогда надо естественно перекодировать:)
Для чего нужно знать как минимум кодировку исходных файлов и версию питона. Ну и соответственно не extractall(), а по одному читать, перекодировать да записывать.
ЗЫ Лучше не тратить зря чужое время, а посмотреть/поискать уже расплодившиеся топики по кодировкам
“Никогда не проси других сделать то, что можешь сделать сам.” Л.Н. Толстой



Офлайн

#3 Май 7, 2010 18:28:01

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

кодировки

Для начала надо знать в какой кодировке у тебя содержимое архива. А потом если например для utf-8 можно так:

zp = zipfile.ZipFile(filename)
unicode(zp.extractall(),'utf-8')
И вообще непонятно нафига распаковывать архив на экран консоли?



Офлайн

#4 Май 8, 2010 11:38:03

.Serj.
От:
Зарегистрирован: 2008-09-27
Сообщения: 181
Репутация: +  0  -
Профиль   Отправить e-mail  

кодировки

И вообще непонятно нафига распаковывать архив на экран консоли?
Может он поток перенаправить куда-нибудь хочет, в /dev/null, например :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version