[Comm] Re: Русский в разных локалях

Valentin Nechayev =?iso-8859-1?q?netch_=CE=C1_netch=2Ekiev=2Eua?=
Пн Дек 2 17:23:28 MSK 2002


 Mon, Dec 02, 2002 at 17:10:31, node wrote about "Re: [Comm] Re: Русский в разных локалях": 

> >Что Вам мешает распространить меры по приведению содержимого файла к виду,
> >понятному получателю, на имя файла?
> демагогия, извините

Нет, не демагогия, а всего лишь точка зрения, не совпадающая с Вашей.

> содержимое файлов - это одно,
> имя - другое

Да, это разные вещи. И что? У вас кто-то обеспечивает чтение содержимого
обеими сторонами в этом обмене.

> содержимое в общем случае двоичное, никакому конвертированию
> естественно не подлежит.

В *общем* случае про него такое сказать нельзя - может подлежать конвертации,
а может и не подлежать. (Ваш пример с коллекцией mp3 показателен: теги
в файлах у вас в id3v2 с utf-8? или все же в cp1251, как принято "здесь"?)

И что у Вас называется разными _клиентами_ с разными локалями?
Два процесса на одном и том же хосте?

> вот реальный случай:
> на компе работает два юзера: локаль 1251 и КОИ
> они "делят" между собой коллекцию mp3 c русскими
> именами в названиях файлов.
> Сейчас это у меня реализованно с посылки о том, что
> оба юзера на одном компе _одновременно_ не работают,
> и каждый монтирует устройство со своими опциями...
> не извращение ?

Как Вы себе представляете в этом случае процесс перевода кодировки?
Не на уровне "тыцнул на koi и оно стало в koi", пожалуйста, а на уровне
деталей работы VFS. Если предложите работающее решение - может, и можно
будет внедрить.

Навскидку могу предложить написание библиотечки с перехватами всех системных
вызовов, которые используют пути в FS, и конверсией этих имен в некоторую
стандартную на этом хосте кодировку. Грузить через LD_PRELOAD.
Нет, я писать такую библиотечку не буду, и готовых не знаю.


-netch-



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