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

Кириллица после Unzip под Linux - Проблема с кириллическими

Добавлено: 12 июл 2002, 14:22
Anonymous
Здрасте Всем.

Проблема состоит в следующем есть в zip-архиве несколько файлов имена которых набраны русскими буковками, при распаковке все было бы хорошо, но вот имена бесследно теряются, т.е. нечитаемы в любой кодировке.

Подскажите, плз. есть ли unzip который сохраняет кирилические названия фалов хоть в каком-то виде?

Заранее благодарен,
Surok.

Кириллица после Unzip под Linux

Добавлено: 16 июл 2002, 16:56
Anonymous
И как это сделать?

Кириллица после Unzip под Linux

Добавлено: 16 июл 2002, 21:06
ab
iconv_unzip() {
   fromcp="$1"
   tocp="$2"
   archive="$3"
   unzip -Z1 "$archive" | while read -r ; do
       newname=$(echo "$REPLY"|iconv -f$fromcp -t$tocp)
       if [ ! -z "$newname" ] ; then
           dirn=$(dirname "$newname")
           basen=$(basename "$newname")
           if [ "$dirn" != "." ] ; then
               mkdir -p "$dirn"
               if [ "$dirn/" != "$dirn/$basen" ] ; then
                   unzip -p "$archive" "$REPLY" > "$newname"
               fi
           fi
       fi
   done
   
}

Вызов: iconv_unzip кодировка_в_архиве кодировка_в_системе архив.zip

Список поддерживаемых кодировок: iconv -l
Естественно, что не все комбинации имеют смысл.

Кириллица после Unzip под Linux

Добавлено: 17 июл 2002, 09:12
Anonymous
Большое спасибо!!!
Но на каком это языке написано?
мне просто надо на perl это реализовать ...

Кириллица после Unzip под Linux

Добавлено: 17 июл 2002, 14:21
ab
Quote: from ab on 10:12 - 17 Июля, 2002
Большое спасибо!!!
Но на каком это языке написано?
мне просто надо на perl это реализовать ...
Это bash. Зачем -- на перле?

Кириллица после Unzip под Linux

Добавлено: 17 июл 2002, 14:33
Anonymous
Upload и разархивирование zip-файлов - это одна из функций библиотеки документов с веб-интерфейсом.
Все cgi-скрипты - на perl.

Кириллица после Unzip под Linux

Добавлено: 17 июл 2002, 14:58
ab
Что же, как говорится, переписывание кода на Perl оставлю читателям в качестве упражнения. :) Думаю, что основная идея ясна.

Кириллица после Unzip под Linux

Добавлено: 17 июл 2002, 15:15
Anonymous
Да, спасибо.