[devel] О кодировке названий файлов при монтировании

Вячеслав Вячеслав
Вс Фев 20 20:48:35 MSK 2005


В Вск, 20/02/2005 в 17:37 +0300, Vitaly Lipatov пишет:
> Выпущен первый релиз библиотеки libnatspec (ушла в Incoming)
> До появления в Сизифе можно скачать пакеты на 
> ftp://ftp.altlinux.ru/pub/people/lav/natspec
> 
> Базой для библиотеки послужил анализ кода следующих проектов:
>  - wine, kernel, gettext, glibc, glib, mount, submount
> 
> Библиотека определяет такие важные понятия, как
>  - кодировка локальной файловой системы (filename encoding)
>  - системная локаль (system locale)
>  - кодировка (charset) и кодовая таблица (codepage)
>    иных операционных систем (WIN,DOS,MAC) для данной локали.
> и предоставляет API для их использования.
> 
> Это позволяет:
>  - добавить в mount/submount автоматическое добавление
>    параметров для перекодировки (пример патча приложен)
> 
> Имеется консольная программа, позволяющая получать опеределённые 
> в библиотеке параметры. Например
>    $ natspec -l    - показать системную локаль
>    $ natspec -i    - вывести всю доступную информацию
> (просьба посмотреть и высказать свои замечания по качеству
> определения ситуации на вашей машине)
В качестве идеи:

Имею программу, у которой своя собственная внутренняя система локалей
(VDR). Там гвоздями и стандартами DVB-вещания забито, что русский всегда
идет в iso8859-5. Нет никаких внутренних средств перекодировки или
поддержки системной локали, при этом нужно писать и читать много файлов,
а файлам автоматически даются русские имена. 

Может быть добавить в библиотеку функцию, позволяющую прозрачно заменять
обычные обращения к объектам файловой системы в C и автоматически
приводить имена к заданной кодировке, в каком бы виде они не хранились
на реальных носителях?  А также при записи преобразовывать имя из
заданной кодировки в любую, какая используется на диске. 

Возможно, это пригодится и в других случаях.
-- 
Вячеслав Диконов <sdiconov на mail.ru>




Подробная информация о списке рассылки Devel