Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Файлы с русскими названиями под Вин и Линух


Автор: StealtH 29.10.2004, 14:09
Суть проблемы такова, есть сервер Linux RH 9, и сеть с виндовыми рабочими станциями. На сервере стоит samba 3.0.7, пользователи хранять свое файло на сервере. Содержимое всех шар сервера периодически архивируется, gzip+tar. Все эти архивы потом складываются в отдельную папочку, а затем переписываются на компашку. Все хорошо, но только вот одна проблема, при просмотре tar-архива под Win вместо нормальных русских имен файлов получается ужасная каша в другой кодировке. Подскажите пожалуйста как с этим бороться.
Файлы на Linux пишутся в UTF-8.

Автор: GrayCardinal 30.10.2004, 07:18
Как я понял, тут софтяна нужна для перекодировки имен файлов перед затариванием... Не встречал, может народ подскажет. Но если есть "recode" пакет... Можно простую скриптяну наваять (Perl или Bash). Как вариант - отключить перекодировку в конфиге самбы :
строчки
codepage=
iocharset=
подогнать под виндовые. Правда после этого на серваке проблемы могут быть и эти файлики читатся не будут... В общем, я бы не стал так делать.

надеюсь помог...
Добавлено @ 07:23
Хакерский вариант :
Не помню точно, может в таре есть такая фича, как перекодировка имен (RTFM). Но как вариант, можно дописать (open source forever)...

Автор: StealtH 31.10.2004, 13:14
Цитата
Как я понял, тут софтяна нужна для перекодировки имен файлов перед затариванием... Не встречал, может народ подскажет. Но если есть "recode" пакет... Можно простую скриптяну наваять (Perl или Bash).

Ты немножко не правильно понял :). Файлы не будут затираться, они просто периодически архивируются и пишуться на компшку - это делается для того, чтоб в один прекрасный момент, когда какая-нить уборщица выдернет шваброй шнур питания с сервака и полетит винт на нем(к примеру, хотя у меня уборщица главный враг, она мне чуть сервак таким образом не угробила), можно было это все аккуратненько восстановить. Это посути для меня не проблема(мне все равно в какой кодировке будут файлы жить в архиве), но только вот начальство и некоторые юзвери, хотят чтобы эти архивы можно было читать под виндами, а там засада :(

Цитата

Как вариант - отключить перекодировку в конфиге самбы :
строчки
codepage=
iocharset=
подогнать под виндовые. Правда после этого на серваке проблемы могут быть и эти файлики читатся не будут... В общем, я бы не стал так делать.


Это как ты правильно заметил не самый лучший вариант, потому что сервак уже настроен и каждый раз менять кодировки хранения и отображения файла не есть зер гуд, потому что рано или поздно можно доиграться и в итоге ниодного нормально файла не будет, а переименовывать 10 гиг всяких доков у меня нет особого желания.

Цитата
Хакерский вариант :
Не помню точно, может в таре есть такая фича, как перекодировка имен (RTFM). Но как вариант, можно дописать (open source forever)...


Вариант не плохой, даже есть идеи, написать софтину, которая перед архивированием будет вычитывать названия файлов, записывать их в файлик, архивировать, а потом при распаковке просто переименовывать в удобочитаемый вид. Но опять же все дело во времени, которого как всегда нету, хотя если дойдут руки(а это как я подозреваю настанет примерно через месяц), я такую весщ напишу, и куда нить выложу. Но на данный момент, с этим надо бороться прямо сейчас и времени на писанину нету :(.

В таре можно покопаться, но для меня это не самый лучший вариант, я как программер не люблю ковыряться в чужих трудах, и стараюсь, чтоб в моих не особо рылись. Каждый человек когда пишет что-то преследует какую-то идею, так зачем же вмешиваться в ход его мыслей, и потом, если он начал, так пусть доделывает, ему то проще в своем коде разбираться :), впринципе если что, то можно будет написать письмо создателям :)

Автор: GrayCardinal 1.11.2004, 12:13
Хакнуть GPL прогу, так это святое дело... Сейчас только разгребусь с этим долбанными ATMega8, и посмотрю что там можно сделать. :cool

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)