LINUX.ORG.RU

Какие параметры кодировки указывать у разделов FAT32?

 ,


0

1

Периодически приходится монтировать виндовые флешки.

Пока что юзаю codepage=1251,iocharset=utf8, но постепенно замечаю, что во всяческих доках строго не рекомендуют юзать iocharset=utf8 и говорят вместо него писать просто utf8. Почему - не говорят. Как это обычно бывает, если послушаться, то перестанет монтироваться вообще всё, включая раздел EFI, выдавая что-то про «bad superblock or wrong fs type». В принципе, вообще любое отступление от этих двух параметров карается ошибкой и отказом монтирования. Это я косячу или надо забить на доки и оставить как есть?

Как вообще там имена файлов пишутся в фате? В нормальных ФС понятно: юникод во все поля, а шо с фатом? Попробовал смонтировать с вышеописанными параметрами и записать файлы с названиями кириллицей и японским иероглифом. На винде оба прочитались. Получается, юникод? Зачем тогда codepage и почему тогда без codepage не монтируется?


cp866 же, откуда ты взял 1251 (что это вообще)? iocharset=utf8 без всего и нормально, это для совместимости со старыми системами в основном да и смотря какой фат и как он монтироваться будет

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

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

Мне старые системы не нужны, мне бы хотя бы с новых систем монтировать так, чтобы кириллица распознавалась.

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

Мне старые системы не нужны, мне бы хотя бы с новых систем монтировать так, чтобы кириллица распознавалась.

Ничего там не поменялось. Короткие имена на fat32 в OEM, то есть для кириллицы — в 866 кодировке, а в длинных именах — в utf-16, но это сам драйвер перекодировать будет и в опциях ему это указывать бесполезно, он и так знает.

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

Ну cp866 вроде и сегодня в венде в консоли, внутри приложений и файловых систем. Примерно год, как на юникод перейти пытаются.

anonymous ()
Ответ на: комментарий от vodz

Короткие - это те, в которых нет символов не из OEM-кодировки? А если драйвер сам знает, что длинные нужно в юникоде писать, почему же тогда без iocharset ниче не монтируется?

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

почему же тогда без iocharset ниче не монтируется?

УМВР. Если не указать chatset-ы, то они будут браться из конфига ядра:

CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

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