[Comm] Архивирование и русские имена файлов
Alexander Bokovoy
=?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Ср Апр 7 13:10:30 MSD 2004
On Wed, Apr 07, 2004 at 11:38:41AM +0300, Dolgov OV wrote:
> On Tue, 6 Apr 2004 17:38:49 +0300
> Alexander Bokovoy <a.bokovoy на sam-solutions.net> wrote:
> > > Создаю архив (bzip, zip, gzip и даже rar), содержащий русские имена
> > > файлов. Затем если зайти (открыть, просмотреть) mc в архив, то
> > > русские имена отображаются нормально. А если открывать архив под
> > > виндой(пробовал WinRAR-3.0), то вместо русского крякозябры.
> > Так и должно быть -- WinRAR ожидает имена в OEM-кодировке -- в Вашем
> > случае это CP866.
> >
> > Соответственно, вопрос состоит в том, как сделать архив в этой
> > кодировке. Возможный вариант -- на момент архивирования
> > перемонтировать виндовый раздел без перекодирования -- архиватор все
> > равно не умеет ничего перекодировать (за него это делает драйвер
> > vfat), поэтому все файлы в архиве окажутся с нужной (OEM) кодировкой.
>
> Ладно. Тогда другой вариант. У меня _не_все_ файлы лежат на FAT32
> разделе. Есть те, которые лежат в home на ext3. Как с ними быть? Не могу
> же я корень перемонтировать с CP866.
>
> Может можно архиватору передавать на время работы переменную... ну не
> знаю, не спец я, типа там как для запуска програм используют
> LANG=чего-то или что-то в этом роде. Фух, простите за сумбур, я как
> собака, вроде понимаю, а сказать не могу :-)
Проблема в том, что распространенные архиваторы вообще не имеют понятия о
кодировках в именах файлов и внутри архива хранят их как есть, в
8-битными. Так что надо искать что-то, что о кодировках знает (сие мне
неизвестно). Проблема усугубляется тем, что в POSIX понятие кодировки
имени файлы неопределено -- имя файла это просто поток байт, не содержащий
определенных символов и заканчивающийся определенным образом.
--
/ Alexander Bokovoy
Samba Team http://www.samba.org/
ALT Linux Team http://www.altlinux.org/
Midgard Project Ry http://www.midgard-project.org/
Подробная информация о списке рассылки community