[mdk-re] Re: XML parser encodings

Alexander Bokovoy =?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Вт Ноя 13 21:00:22 MSK 2001


On Tue, Nov 13, 2001 at 09:05:55PM +0300, Sergey Vlasov wrote:
> On Tue, 13 Nov 2001 19:50:16 +0200
> Alexander Bokovoy <a.bokovoy на sam-solutions.net> wrote:
> 
> > On Wed, Nov 14, 2001 at 12:43:52AM +0800, Alexei Takaseev wrote:
> > > On Tue, 13 Nov 2001, Mikhail Zabaluev wrote:
> > > 
> > > > Для тех libc, что не в танке, есть libiconv. Так что, думаю,
> > > > предлагать можно настойчиво, особенно если предусмотреть
> > > > aclocal-скрипт поиска реализации iconv, который можно стянуть из
> > > > доброго десятка других пакетов. Лучший, по-моему, в mutt.
> > > 
> > > Да, кстати, а как сказать iconv, чтобы он не ругался на некоторые символы,
> > > встречающиеся в текстах как "В данной кодировке таких символов нетути!" а
> > > чтоб он его просто пропускал, и топал дальше текст жевать?
> > Если речь идет об утилите командной строки, то ключик --replace=SYMBOL,
> > если о функции, то смотрите исходники утилиты командной строки.
> 
> В эти исходники я заглядывал - лучше не смотреть, там все жестко
> привязано к реализации iconv() в glibc (используются внутренние
> структуры, даже не описанные в устанавливаемых файлах
> заголовков). Оно и понятно - iconv --list вообще невозможно
> реализовать стандартными средствами, не зависящими от реализации
> iconv().
> 
> Лучше посмотреть на реализацию функции g_convert_with_fallback()
> в GLib-1.3.x (pre-2.0) - там переносимая реализация. Основной
> принцип - при ошибке преобразования исходная строка
> преобразуется в UTF-8 (что должно пройти в любом случае), а
> затем производится посимвольное преобразование из UTF-8 в
> требуемую кодировку, с заменой символов, которые не удается
> преобразовать.
Тоже верно. Осталось дождаться выхода стабильной версии Glib 2.0.

-- 
/ Alexander Bokovoy
$ cat /proc/identity >~/.signature
  `Senior software developer and analyst for SaM-Solutions Ltd.`
---
A penny saved kills your career in government.




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