Кодировка и K3B
Перевел систему на utf8. Система Мандрива 2007.
До этого работал на koi8-r, при записи в К3В устанавливал параметр
"Установить входную кодировку" на вкладке "Дополнительно" в koi8-r, все
писалось и читалось на разных системах (и винде) нормально - я имею
ввиду русские имена файлов.
Теперь при работе в кодировке UTF8 в К3В выбрать нечего - там нет такой
кодироки, пишутся имена в UTF, под виндой файлы с русскими именами на
записанном диске видятся знаками вопросов, под линуксом нужно
принудительно монтировать с кодировкой utf на не утф-ных системах.
С другой стороны - монтирую сейчас на системе с кодировкой UTF
записанный ранее диск, который нормально монтировался и под виндой и под
линукс (русские имена читались) - знаки вопросов.
В какой кодировке вообще пишутся ISO?
Как решить эту проблему?
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30753; Возраст листа: 1333; Участников: 1439
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/649129
avm7wo***@m*****.ru:
Стандарт ISO сам по себе убогий от рождения, по стандарту там вообще имена
файлов в стиле DOS должны быть. Так как он по определению убогий, были
созданы два расширения - RockRidge и Joilet, один юниксовыми братьями по
разуму, другой Микрософтом.
Созданый братьями по разуму RockRidge позволяет устроить на CD некое подобие
UNIX-овой ФС (жёсткие/символические ссылки, например, даёт) и вообще очень
неплохо работает во всём кроме одного. RockRidge ни коим образом не
регламентирует кодировку имён на диске, в стиле "пишите чего хотите". Всё
бы ничего, если бы была возможность перекодировки этих самых имён типа
того, как это сделано для убогой ФС FAT, но такой возможности в Linux нет.
Созданный Микрософтом Joilet по-своему убогий с точки зрения
функциональности ФС в стиле UNIX, но тут Микрософт сделал одно важное
дело - стандартизировали кодировку длинных имён, сказав, что имена на диске
должны быть в UTF16. И точка. Это уже ядро Linux перекодировать умеет как
хочет.
Диски можно и даже желательно создавать с обоими расширениями, чтобы никому
обидно не было, K3B так умеет.
Но при этом, ядро, памятуя о братьях по разуму, считает, что имена файлов,
записанные в RockRidge, значительно правильнее имён, обозначенных в Joilet.
А вот то, что там кодировка не та, ядро не волнует, к сожалению.
Поэтому, пути решения просты: либо монтируем (нужные) диски с
опцией "norock" (и "utf8", конечно), отключая поддержку расширения
RockRidge, либо монтируем как придётся, но пользуем что-то в стиле:
http://sourceforge.net/projects/fuse-convmvfs
для перекодировки с помощью FUSE на лету.