Страница 1 из 2

unzip dыдаёь кракозябры

Добавлено: 08 апр 2006, 04:21
phaoost
как отучить unzip создавать файлы с кракозябрами вместо русских букв, если архив создавался под вендой?

Добавлено: 08 апр 2006, 11:32
Llama
использовать под вендой нормальноную кодировку ;)
А если серьезно - то естественно никак, архиватор плевал на кодировки, соответсвенно вне зависимости от локали имена файлов будут в cp1251. Лечится с помощью convmv.

Добавлено: 08 апр 2006, 12:08
phaoost
в том-то и дело, что локаль be_BY.CP1251 может вендовый зіп их в 866 хранит?

Добавлено: 08 апр 2006, 12:27
Llama
может и так, но решение - то же ;)

Добавлено: 11 апр 2006, 17:44
anyr
Вот вам по теме... может разберетесь - сообщите тогда.
https://bugzilla.altlinux.ru/show_bug.cgi?id=4871

Добавлено: 12 апр 2006, 16:35
phaoost
anyr, да-да, видел, однако данный патч для версии 5.50 :-(

Добавлено: 12 апр 2006, 17:16
Jek
В debian-russian было. Там оно два раза перекодирует.

Добавлено: 12 апр 2006, 23:29
anyr
Ну так расскажите, что хотябы с этим скриптом делать. Я так просто плюнул на все это - tar.gz, а в университете (там win) rar. Но иногда цепляет и полезно было бы знать, что с патчем то делать.

Добавлено: 13 апр 2006, 09:21
phaoost
anyr, патчем патчить сорс от 5.50.
теоретически можно пользоваться

Код: Выделить всё

$ unzip -Z1 filename.zip | iconv -f cp1252 -t cp850 | iconv -f cp866
для получения правильного имени файла. только вот я не пойму, почему используется cp866, когда в венде по дефолту пользуется сp1251. кто-нибудь знает?

Добавлено: 13 апр 2006, 21:26
anyr
Стандарт`с сэр :)

Добавлено: 14 апр 2006, 14:14
phaoost
дык а стандарт чего именно? имена файлов по вендой в 1251 храняться.

Добавлено: 14 апр 2006, 14:45
Llama
phaoost, а причем тут венда? zip гораздо старше.

Добавлено: 14 апр 2006, 18:39
anyr
Вот-вот. Это просто наше мировозрение так устроено, что мы безсознательно объединяем многие вещи в одно целое. Вот например на западе русский -> советский -> коммунист -> плохо. Пристарелый пример, но стереотипы живучи :)

Добавлено: 15 апр 2006, 00:12
anyr
А вот и наступил необходимый момент. Используя комманду unzip -Z1 filename.zip | iconv -f cp1252 -t cp850 | iconv -f cp866 получаю на экране нормальные названия, но если таки распаковать: unzip filename.zip | iconv -f cp1252 -t cp850 | iconv -f cp866 - все возвращается на круги своя. Попробовал заменить iconv на convmv - ничего не вышло. Какие есть идеи?

Добавлено: 15 апр 2006, 00:17
Llama
1) Ждать патча
2) Іграться с convmv с последовательно перекодировкой