From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 20 Feb 2002 19:49:15 +0300 From: Sergey Vlasov To: devel@altlinux.ru Subject: Re: [devel] =?koi8-r?B?7M/LwczJ2sHDydEg?= =?koi8-r?B?ySDJ09DPzNjaz9fBzsnFIMbVzsvDyck=?= catgets Message-ID: <20020220194915.A1450@vcserver.mivlgu.ru> Mail-Followup-To: devel@altlinux.ru References: <20020219140937.2eafdc17.vserge@menatepspb.msk.ru> <20020219143542.A28643@vcserver.mivlgu.ru> <20020219144100.784fd083.vserge@menatepspb.msk.ru> <20020219145112.B28643@vcserver.mivlgu.ru> <20020219150131.33acec3d.vserge@menatepspb.msk.ru> <20020219170829.C28643@vcserver.mivlgu.ru> <20020220091225.2dccfbfa.vserge@menatepspb.msk.ru> <20020220181036.D404@vcserver.mivlgu.ru> <20020220154424.GA8013@sam-solutions.net> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20020220154424.GA8013@sam-solutions.net> Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Wed, Feb 20, 2002 at 17:44:24 +0200, Alexander Bokovoy wrote: > On Wed, Feb 20, 2002 at 06:10:36PM +0300, Sergey Vlasov wrote: > > > так что лучше ??? или правильнее использовать с точки зрания > > > кросплатформенности? > > > > Кстати, у них тут > > (http://www.openldap.org/lists/openldap-devel/200201/msg00120.html) еще > > одно требование: сервер должен сам отдавать сообщения на запрошенном языке > > в UTF-8. Похоже, gettext при всех своих преимуществах тут пролетает по > > следущей причине: он использует язык, установленный в LC_MESSAGES. > > Динамически переключать его неудобно, к тому же сервер, насколько я понял, > > на pthreads - тут вообще труба, т.к. setlocale действует глобально для > > всего процесса. > > > > Т.е. gettext хорошо подходит для тех ситуаций, где не нужно переключать > > язык динамически, но при их подходе к локализации сервера он не годится. > Неверно. Дело в том, что gettext прекрасно справляется и с этой задачей > посредством использования функции bind_textdomain_codeset(const char * > DOMAINNAME, const char* CODESET). Речь шла не о смене кодировки, а о смене языка. Т.е. клиент посылает (в расширенном эапросе - они собирались ввести какое-то расширение) код языка, на котором выдавать ответ; сервер выдает сообщения на этом языке. Для кодировки, действительно, есть bind_textdomain_codeset; для языка - надо все равно менять locale. А кодировка как раз в данном случае одинаковая - UTF-8 для любого языка. > > что wchar_t == Unicode, что в общем случае неверно; кроме того, у > > wcstombs/mbstowcs есть проблемы с кодировками, зависящими от состояния - > > т.е. сам интерфейс тоже кривоват). С более новыми и правильными функциями > > опять та же проблема - они не везде есть. GNU libiconv (этот точно под > > LGPL) им опять, вероятно, не понравится? > Если не понравится, то сами себе они злобные буратины. Других настолько же > общих и портабельных решений нет. Понятно. Просто обидно, что опять можем получить половинчатое решение проблемы, при том, что уже есть готовые средства для нормального решения.