Языковая нестыковка - (РЕШЕНО)

Изображение пользователя ВОРОН.

Привет всем.

После установки 10.4 названия файлов на русской отображаются "???", а сами .док и .тхт файлы неизвестными иероглифами. Это только со старыми файлами, что были в системе до установки, все новые файлы и их имена отображаются нормально.
У меня 2 диска, на одном операционка, на втором файлы (ФС - фат32)

Подскажите пожалуйста как исправить.

+1
Жюстина - 25 Май, 2010 - 08:17
Изображение пользователя Жюстина.

Нужно посмотреть в /etc/fstab там указывается кодировка при монтировании разделов примерно так:

UUID=.... /media/vfat vfat defaults,iocharset=utf8,codepage=866 0 0

Если нет подчёркнутого, то добавить так же к другим параметрам через запятушку... хотя должно быть по умолчанию, и всё равно fstab посмотреть бы.

А вот то, как открываются тхт файлы это нужно заходить в настройки редактора, которым они открываются и ставить в нём кодировку на cp1251. Только это чтоб прочитать, злоупотреблять кодировками не utf не надо в линуксе, а то совсем каша будет потом.

0
ВОРОН - 25 Май, 2010 - 11:45
Изображение пользователя ВОРОН.

О, спасибо, Жюстина

Вот что в моем /etc/fstab

UUID=ac9abd63-5c8b-4cbb-bd19-06ebbaaa384a / ext4 errors=remount-ro 0 1
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Так же не могу сохранить файл, после изменения в виде
UUID=ac9abd63-5c8b-4cbb-bd19-06ebbaaa384a / ext4 errors=remount-ro 0 1
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8,codepage=866 0 0

Наверняканет прав. необходимо через судо, а как через судо изменять файлы я не знаю...

Подскажи пожалуйста

+1
Жюстина - 25 Май, 2010 - 11:31
Изображение пользователя Жюстина.

Ну эти изменения для дискеты вообще-то.

iocharset=utf8,codepage=866 это надо...

Если это весь fstab, то разделы в vfat в нём не монтируются.

Запуск редактирования: sudo kate /etc/fstab или консольным редактором: sudo nano /etc/fstab

0
ВОРОН - 25 Май, 2010 - 11:46
Изображение пользователя ВОРОН.

"Если это весь fstab, то разделы в vfat в нём не монтируются."

Так что тогда делать?

Да и кодировку редактора менял и не раз, не помогает. Я ж написал что если новые файлы пишешь кирилицой, то нормально отображаются, а все существующие до установки линухи отображаются иероглифами "�����"
Может еще есть варианты?

+1
Жюстина - 25 Май, 2010 - 11:55
Изображение пользователя Жюстина.

Ну есть ещё вариант, что имена файлов портятся если испорчена fs, а вообще полезно примонтировать разделы в fstab и посмотреть, пример как монтируются такие разделы я дала вместо UUID можно указывать /dev/sdb и прочие файлы устройств дисков...(смотреть какие есть: sudo fdisk -l) А то может просто дельфин не может указать кодировку при монтировании.

При изменении кодировки в kate к примеру, программу надо перезапустить, только после этого поменяется что-то, к тому же неизвестно какая именно там кодировка, может какая то вообще экзотическая, а не cp1251.

0
knuckles - 25 Май, 2010 - 12:07

ВОРОН, ты знаешь как твой диск с FAT разделом называется?
выполни:
ls -l /dev/disk/by-id
Приложи сюда вывод (совет: вставляй вывод между тэгами code - читать удобнее! ;-) )

0
ВОРОН - 25 Май, 2010 - 12:19
Изображение пользователя ВОРОН.

lrwxrwxrwx 1 root root  9 2010-05-25 11:03 ata-Maxtor_6E040L0_E1BDHLAE -> ../../sda
lrwxrwxrwx 1 root root 10 2010-05-25 11:03 ata-Maxtor_6E040L0_E1BDHLAE-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 2010-05-25 11:03 ata-WDC_WD400EB-00CPF0_WD-WMAATC986623 -> ../../sdb
lrwxrwxrwx 1 root root 10 2010-05-25 11:03 ata-WDC_WD400EB-00CPF0_WD-WMAATC986623-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  9 2010-05-25 11:03 scsi-SATA_Maxtor_6E040L0_E1BDHLAE -> ../../sda
lrwxrwxrwx 1 root root 10 2010-05-25 11:03 scsi-SATA_Maxtor_6E040L0_E1BDHLAE-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 2010-05-25 11:03 scsi-SATA_WDC_WD400EB-00CWD-WMAATC986623 -> ../../sdb
lrwxrwxrwx 1 root root 10 2010-05-25 11:03 scsi-SATA_WDC_WD400EB-00CWD-WMAATC986623-part1 -> ../../sdb1

Вот вывод.

maks@maks:~$ sudo fdisk -l
[sudo] password for maks:

Диск /dev/sdb: 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00011005

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1               1        4866    39080960   83  Linux

Диск /dev/sda: 41.1 ГБ, 41110142976 байт
240 heads, 63 sectors/track, 5310 cylinders
Units = цилиндры of 15120 * 512 = 7741440 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xae55a929

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *           1        5310    40143568+   c  W95 FAT32 (LBA)

0
knuckles - 25 Май, 2010 - 12:34

Хорошо, теперь сделай следующее:
echo "/dev/sda1 /media/FATVolume vfat defaults,iocharset=utf8,codepage=866 0 1" | sudo tee -a /etc/fstab
sudo mount -a

После этого зайди файловым менеджером в /media/FATVolume и посмотри, что с именами.

З.Ы. Прошу прощения, ошибся с командой - поправил.

0
ВОРОН - 25 Май, 2010 - 13:08
Изображение пользователя ВОРОН.

А почему /media/FATVolume, а не /media/disk ? Ведь у меня путь к диску именно так определяется.

Ну в любом случае ставил и так и так, всеравно значки знаками вопроса отображаются...

0
Xenomorph - 25 Май, 2010 - 13:25
Изображение пользователя Xenomorph.

Ээээ... А ты перезагружался?

0
knuckles - 25 Май, 2010 - 13:51

FATVolume можешь поменять на что-нибудь другое, но просто disk не стоит, т.к. дисков может быть много.
Попробуй еще так:
kdesudo kate /etc/fstab
В открывшемся редакторе поменяй utf8 на cp1251. Сохрани файл и перезагрузи компьютер.
Пока в голову больше ничего не приходит...
З.Ы. utf8 на cp1251 меняй только для добавленной записи!

+1
ВОРОН - 25 Май, 2010 - 14:17
Изображение пользователя ВОРОН.

УРА!!, Заработало! Теперь все нормально отображается.

UUID=ac9abd63-5c8b-4cbb-bd19-06ebbaaa384a /               ext4    errors=remount-ro 0       1
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
/dev/sda1 /media/FATVolume vfat defaults,iocharset=utf8,codepage=866 0 1

Но я теперь нек могу переименовывать и удалять файлы с диска. именно с этого.. Черт, что ж все так не легко та...

0
knuckles - 25 Май, 2010 - 14:21

:-)
Замени слово "defaults" на "rw,user,noauto,exec"
Хотя, noauto не надо))

+2
ВОРОН - 25 Май, 2010 - 14:32
Изображение пользователя ВОРОН.

Работает, спасибо!

Черт, не могу +1 поставить, т.к. карма меньше 3х...

Спасибо огромное!!

0
knuckles - 25 Май, 2010 - 14:34

Черт, не могу +1 поставить, т.к. карма меньше 3х...
Не переживай ;-)

0
Chibiko - 25 Май, 2010 - 14:58
Изображение пользователя Chibiko.

я бы exec не ставил, мб я немного... страдаю шизофренией и так далее, но не нужно в фате exec ставить, лучше noexec и не мучаться...

0
knuckles - 25 Май, 2010 - 15:07

Согласен, что это не слишком хорошо, но если из-под вайна документы придется открывать с этого раздела двойным щелчком, флаг нужен будет.
С другой стороны без exec безопаснее.
user автоматически ставит noexec, так что можно просто убрать.

0
ВОРОН - 25 Май, 2010 - 14:57
Изображение пользователя ВОРОН.

Вопрос с чтением файлов остается открытым. Все .doc, .rtf и .xls отображаются нормально. А вот все .txt файлы, что уже были до установки операционки и те, что переносятся с винды отображаются "��������" "!CI5AB" "сКЕРЕРЭ АШ ОРХЖЕИ" при чем не имеет значения в каком редакторе они открываются kate или OpenOffice. Кодировки в кате уже почти все перепробывал, только иероглифы меняются, но читаемый текст не выходит..

Если создаешь новый файл, то печатается нормально кирилицой.

0
knuckles - 25 Май, 2010 - 15:10

В редакторах должна стоять cp1251.
Еще на всякий случай можно убедиться, что поддержка русского языка полностью установлена: в Настройка - Параметры системы - Язык и стандарты надо понажимать на кнопки "Установить новый язык" и "Выбрать язык системы" и убедиться, что Русский есть и там, и там (после нажатия система может предложить доустановить пакеты).

0
knuckles - 25 Май, 2010 - 15:32

Подозреваю я, что надо все-таки utf8 на cp1251 поменять... или locale=ru_RU.utf8 добавить...

0
ВОРОН - 25 Май, 2010 - 16:34
Изображение пользователя ВОРОН.

cp1251 ставил, результата нет. Всеравно иероглифами выдает.

Да и
maks@maks:~$ locale
LANG=ru_RU.utf8
LANGUAGE=
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

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

0
knuckles - 25 Май, 2010 - 17:52

По поводу моего предыдущего поста про locale: я имел ввиду fstab.

0
ВОРОН - 25 Май, 2010 - 19:49
Изображение пользователя ВОРОН.

тоесть? чтобы я прописал locale=ru_RU.utf8 в fstab?

Получилось
UUID=ac9abd63-5c8b-4cbb-bd19-06ebbaaa384a /               ext4    errors=remount-ro 0       1
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
/dev/sda1 /media/FATVolume vfat defaults,iocharset=utf8,codepage=866,locale=ru_RU.utf8 0 1

Но после этого вообще не смог зайти на диск, поэтому вернул все как было.

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

0
knuckles - 26 Май, 2010 - 07:41

Мда... Видимо, это только для ntfs работает (если вообще работает).
Давай попробуем так:
1. В /etc/fstab строчка должна быть такой:
/dev/sda1 /media/FATVolume vfat rw,user,iocharset=utf8,codepage=866 0 0
Теперь в конце нолик, чтобы Линукс не пытался при загрузке диск на ошибки проверять - все-таки файловая система не родная.
2. После перезагрузки открываешь Kate, в меню выбираешь Настройка -> Настроить Kate...
3. В левой части открывшегося окна в дереве выбираешь пункт Компонент редактирования -> Открытие и сохранение
4. На вкладке Общие выбираешь следующие параметры:
- Кодировка: Кириллица (IBM866)
- Автоопределение кодировки: Кириллица
- Конец строки: DOS/Windows
Галочку "Автоматическое определение символов конца строки" тоже лучше включить.
Жмешь ОК и закрываешь Kate.

После этого попробуй открыть проблемные файлы в Kate.
Если не сработает, то попробуй вместо IBM866 повыбирать в Kate другие кодировки кириллицы. Только помни, что после изменения кодировки Kate нужно закрывать и потом снова открывать файл.

Можно еще попробовать написать в /etc/fstab так:
/dev/sda1 /media/FATVolume vfat rw,user,iocharset=ibm866,codepage=866 0 0
или:
/dev/sda1 /media/FATVolume vfat rw,user,iocharset=cp1251,codepage=866 0 0

0
ВОРОН - 26 Май, 2010 - 22:58
Изображение пользователя ВОРОН.

Спасибо, огромное, все работает!!!

В /etc/fstab поставил
/dev/sda1 /media/FATVolume vfat rw,user,iocharset=utf8,codepage=866 0 0

А в настройках кате:
Кодировка: Юникод UTF-8
Автоопределение кодировки: Кириллица
Конец строки: DOS/Windows
Автоматическое определение символов конца строки

Но осталась проблема, если читать файлі напрямую с флешки, то тоже иероглфами отображаются, а если с флехи перенести на диск, то все ок, как флеху добавить в /etc/fstab ?

0
knuckles - 27 Май, 2010 - 06:59

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

0
ВОРОН - 27 Май, 2010 - 09:42
Изображение пользователя ВОРОН.

о содержимом. Имена нормально отображаются

0
knuckles - 27 Май, 2010 - 11:01

Можно попробовать добавить ее в fstab по uuid, но не уверен, что стоит так делать...
1. Вставляешь флэшку и убеждаешься, что она подмонтировалась.
2. Выполняешь ls -l /dev/disk/by-uuid
3. Находишь там UUID, который ссылается на флешку (в твоем случае не sda и не sdb).
4. Пишешь в fstab UUID=здесь-uuid-флэшки /media/FlashDisk vfat rw,user,noauto,iocharset=utf8,codepage=866 0 0
5. Для монтирования флэшки надо будет выполнять sudo mount -a
Не уверен, что поможет. ИМХО, есть более адекватные решения этой проблемы, но у меня сейчас времени нет на это :-) Может, кто-нибудь еще поможет.

0
ВОРОН - 27 Май, 2010 - 13:34
Изображение пользователя ВОРОН.

Сделал по аналогии с жестким диском:
в fstab записал
/dev/sdc1 /media/FlashDisk vfat rw,user,noauto,iocharset=utf8,codepage=866 0 0

Спасибо огромное за помощь!

0
knuckles - 27 Май, 2010 - 13:46

Лучше сделать по UUID. Выглядит страшно, зато такая запись не зависит от usb-порта, к которому подключается флэшка, поскольку UUID для каждого устройства уникален.

0
ВОРОН - 27 Май, 2010 - 14:09
Изображение пользователя ВОРОН.

а я сделал проще, у меня 4 порта, и если все 4 флехи вставить, то их UUID это sdc1, sdd1, sde1 и sdf1, так я все это сразу прописал в fsab

0
knuckles - 27 Май, 2010 - 14:13

В один и тот же каталог? (мне в письме пришли четыре твоих записи, там везде один каталог: /media/FlashDisk - поправь)

0
ВОРОН - 27 Май, 2010 - 14:19
Изображение пользователя ВОРОН.

не-не-не :)
Я переименовал папки и посоздавал еще, теперь у меня FlashDisk1, FlashDisk2, FlashDisk3, FlashDisk4. Все нормально работает. От порта не зависит.

0
knuckles - 27 Май, 2010 - 15:13

Ну, здорово тогда :-)

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры