[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