Все таки я бы рекомендовал перейти на UTF-8. Это будет проще и правильнее.
Откровенно говоря, я не вижу ничего правильного в том, чтобы кодировать символ тремя байтами там, где можно обойтись одним (я уж не говорю о том, что считывание трёх байт займёт у процессора Intel, оперирующего словами, кратными степени двойки, больше времени, чем считывание трёх расположенных потряд тетрад!). Вместо того, чтобы "между собой" договориться наконец о том, какую однобайтовую кодировку использовать, мы в очередной раз тупо согласились на то, чтобы нам извне навязали фактически ещё одну (какую там по счёту?) кодировку, к тому же многобайтную. И, главное, был бы от этого толк, а то ведь сделали-то ещё один мертворожденный клон уникода. Если бы UTF-8 была кодировкой по умолчанию хотя бы в Windows Vista, я бы понял все эти хитрые маневры с добровольным многократным усложнением жизни самим себе, а так - извините меня, Linux используется в качестве основной ОС на десятых долях процента компьютеров, а Windows - на 96% как минимум. Вам не кажется, что в данной ситуации вне зависимости от нашего желания жизнеспособность всех все этих новоявленных стандартов определяется в первую очередь тем, будет им следовать Microsoft или нет? А если не будет, то, извините, нафига оно нам надо? Мы же всё-таки не изолированно от окружающего мира живём, нас ведь люди какие-то окружают, причём никто из них, что характерно, не обязан пользоваться Linux или даже Windows (кому-то, возможно, MacOS X - мать родна)....
ведь имена файлов на таких разделах тоже ведь можно было элемантарно перекодировать.
Ну да, это было бы просто гениальное решение: загружаешься в Linux - переименовываешь все файлы в соответствие с текущей кодировкой, но перед тем, как перезагрузиться обратно в ОС Windows - не забудь снова пройтись по всем файлам на FAT-разделах и переименовать их!
давно существует более простое средство под названием convmv.
Это конструктивно. Спасибо, попробую!
локаль — это свойство процесса. и ничего более.
Локаль (кодировка) - это также и свойство тех объектов, с которыми процесс работает, иначе объекты, созданные процессом с одной локалью не смогут быть правильно прочитаны процессами с другой локалью. Например, для файла логично было бы хранить сведения о его типе и (если файл текстовый) о его кодировке в блоке метаданных, хранящемся отдельно от собственно данных (собственно, большинство современных файловых систем предоставляют возможность хранения сведений об объектах ФС в блоке метаданных, только к сожалению далеко не все операционные системы этой возможностью пользуются).