From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Sergey Vlasov To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] Re: XML parser encodings Message-Id: <20011115175409.122d1e43.vsu@mivlgu.murom.ru> In-Reply-To: <20011114235900.GL1995@localhost.localdomain> References: <20011112225043.GB1936@localhost.localdomain> <20011113175016.GO1754@pc152.belcaf.minsk.by> <20011113210555.4db73470.vsu@mivlgu.murom.ru> <20011114235900.GL1995@localhost.localdomain> X-Mailer: Sylpheed version 0.6.5 (GTK+ 1.2.10; i586-alt-linux) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Thu Nov 15 17:37:27 2001 X-Original-Date: Thu, 15 Nov 2001 17:54:09 +0300 Archived-At: List-Archive: List-Post: On Thu, 15 Nov 2001 02:59:00 +0300 Mikhail Zabaluev wrote: > > Лучше посмотреть на реализацию функции g_convert_with_fallback() > > в GLib-1.3.x (pre-2.0) - там переносимая реализация. Основной > > принцип - при ошибке преобразования исходная строка > > преобразуется в UTF-8 (что должно пройти в любом случае), а > > затем производится посимвольное преобразование из UTF-8 в > > требуемую кодировку, с заменой символов, которые не удается > > преобразовать. > > Сие грамотно, разве что так тщательно нужно перекодировать только то > место, где iconv спотыкается -- ведь функция сама двигает указатели, > пока все OK. В общем случае это не проходит - исходная кодировка может быть хитрой многобайтовой, поэтому пропустить мешающий символ сложно. В UTF-8 такой проблемы нет. Впрочем, все это используется только если строка не перекодировалась напрямую.