From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 23 Jul 2003 12:25:51 +0300 From: Alexander Bokovoy To: sisyphus@altlinux.ru Subject: Re: [sisyphus] =?koi8-r?B?x9LV087ZxSDSwdrN?= =?koi8-r?B?2dvMxc7J0SDPIMbByszP19nIINPJ09TFzcHI?= Message-ID: <20030723092551.GE11883@sam-solutions.net> Mail-Followup-To: sisyphus@altlinux.ru References: <3F1E4E80.40901@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3F1E4E80.40901@users.sourceforge.net> X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: sisyphus@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2003 09:24:26 -0000 Archived-At: List-Archive: On Wed, Jul 23, 2003 at 12:59:44PM +0400, Ildar Mulyukov wrote: > Уважаемый all! > играясь с кодировками, [опять] наткнулся на принципиальный вопрос: > выходит, что по умолчанию на фс таких, как extX, reiser и т.п. имена > файлов хранятся в той кодировке, в которой находился юзер, когда > создавал файл. То есть отсюда несколько выводов: > 1. Юзеры в разных кодировках видят файлы друг друга как попало. > Для многопользовательской системы, коими всегда славились Юнихи, как-то > слабО. > 2. Принципиально криво. Для сравнения ntfs хранит названия в UTF16. Увы, POSIX не регламентирует кодировки имен файлов. Вообще. Имя файлового ресурса в POSIX - последовательность байт и все. > Для исправления 2-й проблемы, положим, можно (на текущий момент) > добавить опцию iocharset для всех фс. Это примерно понятно как сделать. > Но, опять, это только решает 2-ю проблему, 1-я же всё равно портит дело... > А с 1-й проблемой я вижу только один способ бороться: в glibc делать > конвертацию имён соответственно текущей локали. Это, я подозреваю, > возможно, но не слАбо :-) И не нужно. В общем случае неизвестно, какую кодировку использовал тот, кто записывал файл, тому, кто его читает. Узнать это можно только в конкретном случае. Единственным реальным на сегодня унифицирующим решением будет использование UTF-8 для имен файлов в рамках всего сервера. Опять-таки, в случае управляемых систем, когда производитель системы имеет полный контроль над ней, вопрос вполне решается: например, в нашей ApplianceWare мы используем UTF-8 и раздаем эти файлы по CIFS, NFS, AFP с учетом того, в какой кодировке пришел клиент. Если для современных CIFS-клиентов это довольно просто (общение идет в UCS2), то для NFS и AFP администратор должен выставлять в системе управления кодировки в зависимости от параметров клиента (IP, uid/gid, ресурс). -- / Alexander Bokovoy --- I saw a subliminal advertising executive, but only for a second. -- Steven Wright