[mdk-re] Русские буквы в именах файлов на fat32
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_mivlgu=2Emurom=2Eru?=
Вс Апр 15 15:38:11 MSD 2001
On Sun, 15 Apr 2001 14:47:27 +0400
Vyt <vyt на vzljot.ru> wrote:
> On Sun, 15 Apr 2001 02:07:09 +0400
> Ivan Kudryashov <jony на chat.ru> wrote:
>
> <skipped>
>
> > SV> Попробуйте создать из Linux что-нибудь с русским именем, а потом
> > SV> перегрузиться в Вынь и запустить в этом каталоге dir. Если ядро
> 2.2.x,
> > SV> длинное имя будет правильное, а в коротком - мусор псевдографикой
> > SV> (koi8-r). И все работает до первого Scandisk'а с проверкой имен
> > SV> файлов.
> >
> > Сейчас не могу - раздел FAT давно убил за ненадобностью (пользую
> > explore2fs, как мне уже случалось здесь хвастаться). Делал
> > массированную переброску файлов через такой раздел около полутора
> > месяцев назад. Естественно, ни dir, ни scandisk в процессе не
> > запускал. Так вот. У меня, как заповедано, было поставлено
> > codepage=866. С этой опцией записались на FAT все каталоги/файлы, а
> > вот прочитать (скопировать на ntfs) удалось лишь часть. Покопавшись,
> > удалив этот самый codepage - попробовал. Всё работает великолепно,
> > ошибок больше не было, скопировалось всё, и всё - корректно. Ядро
> > Linux - 2.2.14, вынь - w2k английский prof, с sp1.
> >
> > Сейчас хохмы ради запустил dir /X в каталоге, где лежат ранее
> > переброшенные файлы - те из них, которые перебрасывались, имеют
> > нормальные длинные и короткие имена, причём короткие имена
> > сформированы так, как это обычно делает win95/98 - использовано начало
> > длинного имени.
> >
> > Может быть, имеет смысл, не мудрствуя, сразу же скопировать выложенные
> > Linux'ом файлы/каталоги в другое место?
> >
>
> Поздно пить боржоми, когда почки отвалились... ;) Scandisk я уже
> запустил...
> Сергей Власов же писал, что это баг, вряд ли он от codepage в fstab
> зависит.
Баг как раз в том, что codepage не используется. В результате в короткое
имя пишется koi8-r. Отчасти помогает опция force_long, появившаяся в
2.2.18 (писать длинное имя всегда, даже если хватает короткого). Кстати,
возможно, именно отсутствие этой опции и было причиной проблем с чтением
записанных под Linux файлов. Если есть длинное имя, мусор в коротком, как
правило, игнорируется.
Так что ставить codepage все-таки надо. Но под ядром 2.4.x (у кого оно
стоит, попробуйте). И добавлять force_long при возможности. А codepage в
2.2.x, к сожалению, ни на что не влияет.
Подробная информация о списке рассылки community