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

Здесь обсуждаются все вопросы, не попадающие под другие категории
Anonymous

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

Сообщение Anonymous »

Здрасте Всем.

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

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

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


ab
Маньяк
Сообщения: 198
Зарегистрирован: 28 май 2002, 19:02
Откуда: Espoo, Finland

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

Сообщение 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
Естественно, что не все комбинации имеют смысл.
/ AB

Anonymous

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

Сообщение Anonymous »

Большое спасибо!!!
Но на каком это языке написано?
мне просто надо на perl это реализовать ...

ab
Маньяк
Сообщения: 198
Зарегистрирован: 28 май 2002, 19:02
Откуда: Espoo, Finland

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

Сообщение ab »

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

Anonymous

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

Сообщение Anonymous »

Upload и разархивирование zip-файлов - это одна из функций библиотеки документов с веб-интерфейсом.
Все cgi-скрипты - на perl.

ab
Маньяк
Сообщения: 198
Зарегистрирован: 28 май 2002, 19:02
Откуда: Espoo, Finland

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

Сообщение ab »

Что же, как говорится, переписывание кода на Perl оставлю читателям в качестве упражнения. :) Думаю, что основная идея ясна.
/ AB


Ответить