LINUX.ORG.RU

проблемы с кодировкамим


0

0

Доброе время суток! Приблизитеоьно год назад я перешел на дистрибутив FC4. По умолчанию там стоит локаль utf-8. Так как много файлов на /home имело русские имена (koi8-r), то мне пришлось сменить локаль на koi8-r. За этод год я много прочитал и в man и в др. документации. Но это все не то. Если будет интересно, ответьте, пожалуйста на, хотя бы, некоторые перечисленные вопросы. Я постараюсь проверить все советы и сделать что-то вроде Modern-Cyrillic-HOWTO-4-new-distrib. Старый устарел и не может решать свои задачи (точнее: его задачи уже решены во всех новых коробочных дистрибутивах)

Вот эти вопросы:

1. Надо ли менять локаль в современных дитрибутивах юникода utf-8 на koi8-r или подстраиваться под юникод? 2. Как можно подмонтировать диск FAT12/16/32 в локаль utf-8, чтобы кириллица работала? 3. Как перевести весь раздел с ext3fs (например /home) из koi8-r в utf-8 и обратно, чтобы кириллица работала? 4. Как подмонтировать диск Samba, чтобы кириллица работала (utf-8/koi8-r)? 5. Как записать диск (cdrecord/K3b), чтобы кириллица работала и в MS Windows и Linux? 6. Как можно подмонтировать диск NTFS в локаль utf-8/koi8-r, чтобы кириллица работала?

Документация, которая мне не дала ответов для соответствующих вопросов:

1. В форумах различные мнения 2. man mount, Cyrillic-HOWTO 3. Пробовал написть программу, но не смог разобраться с man 3 iconv (Может быть хорошо коментированный простенький пример?) 4. man smbmount, /etc/samba/smb.conf, Cyrillic-HOWTO 5. man cdrecord, man mount, Cyrillic-HOWTO 6. Не нашел документацию (пока?)

1 -- это больше философский вопрос

2,4,6 -- man mount на предмет codepage и iocharset

3 -- я бы написал скрипт

5 -- joilet

kvit
()

>5. Как записать диск (cdrecord/K3b), чтобы кириллица работала и в MS Windows и Linux?

Это делается на этапе создания fs, cdrecord тут ни причем.

В `man mkisofs' смотри -input-charset, -output-charset и "CHARACTER SETS" (Наборы символов).

>6. Как можно подмонтировать диск NTFS в локаль utf-8/koi8-r, чтобы кириллица работала?

man mount + www.linux.org.ru/books/lor-faq/lorFAQ-16.html#ss16.23 В FAQ обрати внимание на фразу:

>В новых ядрах вместо "iocharset=..." лучше использовать "nls=...".

>Пробовал написть программу, но не смог разобраться с man 3 iconv

Скрипта достаточно, типа `mv "$fname" $(echo "$fname"|iconv -f utf8 -t koi8-r)'. Если трудности со скриптами на shell - смотри в сторону perl/python.

anonymous
()

1. Раньше я безусловно отвечал "менять на koi8-r или даже на cp1251" по причине глюков софта. Сейчас этот ответ устарел, поскольку появились программы типа Nautilus CD Burner, которые корректно работают только в UTF-8 (что тоже есть баг). Так что на сегодня мой ответ таков:

Если дистростроители патчат софт где необходимо (в основном - mkisofs и mc), то выбор произволен (но в случае UTF-8 следует избегать софта на тулкитах, отличных от Qt и Gtk2). Если нет (это имеет место в Slackware) - то мой старый ответ остается в силе.

2,6. iocharset=utf8/koi8-r,codepage=866 в опциях mount

3. google convmv

4. dos charset = CP866, unix charset = UTF-8/KOI8-R

5. -J -input-charset koi8-r/utf-8 (для работы с utf-8 нужны патченные cdrtools)

AEP ★★★★★
()
Ответ на: комментарий от AEP

>6. iocharset=utf8/koi8-r,codepage=866 в опциях mount

ntfs никогда не поддерживала опцию codepage, насколько я помню. Да и iocharset уже deprecated (use "nls" instead)

>4. dos charset = CP866, unix charset = UTF-8/KOI8-R

Это разве имеет отношение к монтированию чужих ресурсов? Если samba server настраивать, тогда да. Если монтировать надо что-то, тогда все те же iocharset и codepage в mount options

kvit
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.