Перейти к содержимому
Калькуляторы

Архиватор + указание кодировки

Есть NAS, подключённый к серверу, на котором храняться рабочие папки юзеров. С помощью сервера делается бэкап (tar+bzip2) папок. Юзеры все виндовые. Пока всё нормально (если нужно достать из бэкапа что-то, распаковываем на сервере и ложим в нужную папку), но юзерам почему-то понадобилось очень часто распаковывать архивы и доставать файлы из бэкапа. Было выдвинуто быстрое решение - положить эту задачу на самих юзеров. Как итог, юзер себе качает архив бэкапа и начинает распаковывать. Имена файлов естественно битые, так как кодировки не совпадают.

Пробовал использовать 7zip(ругается на параметр -scs через который можно указать кодирова - перепробовал 100500 разных вариантов использования параметра) rar (только в Windows-версии можно задать кодировку)

 

Пока есть 2 варианта решения:

1) искать возможность при архивации конвертировать имена файлов в CP1251

2) менять кодировку на самом NAS'e (там урезанный линукс, доступ есть)

3) как-то налету используя convmv отдавать tar'y уже имена файлов (но думаю это нереально) в CP1251

 

Пока склоняюсь к п1, но если ничего не найду - придёться разбираться в п2.

 

Может у кого-то есть какие-то идеи по этому поводу? Или может есть ещё варианты решить эту задачу?

 

ОС FreeBSD 8.2, locale - UTF8 (спецом, что бы нормально виделись имена файлов через сервер)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7z пишет кодировку, поэтому потом на винде распаковывается без проблем. В вашем случае скорее всего бэкап запускается из крона, а там совсем другое переменное окружение. Поставьте в кроне /usr/bin/env >/tmp/log.env и посмотрите чем отличается от "обычного" env

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Запускаю из консоли, где кодировка UTF-8 (locale LC_ALL = UTF-8)

У меня 7z ругается на неправильный параметр, когда я пробую указать кодировку. Пробовал по разному:

7z a a.7z @file.list -scsWIN
7z a -scsWIN a.7z @file.list 

всё равно ругается на неправильный параметр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

`convmv -f/-t | tar/bzip/7z` (п.3), ну или `find blah | iconv -f/-t | tar/bzip/7z` не?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может и оно, буду пробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.