Форум — Development expat & koi-8 0 0 ничерта не получается с XML_SetUnknownEncodingHandler. Кто-нибудь готов помочь, или кинуть рабочий пример? Ссылка
Re: expat & koi-8 static int encoding_hnd(void *data, const XML_Char *name, XML_Encoding *info) { int i; iconv_t conv_hnd; unsigned char in_buf[16], out_buf[16]; char *p_in_buf, *p_out_buf; size_t in_size, out_size, conv_size; if ((conv_hnd = iconv_open("utf-16le", name)) == (iconv_t) -1) return 0; info->data = 0; info->convert = 0; info->release = 0; /* fill up the translation table */ /* FIXME: this supports only one byte encodings */ for (i = 0; i < 256; i++) { in_size = 1; p_in_buf = in_buf; in_buf[0] = i; out_size = sizeof(out_buf); p_out_buf = out_buf; conv_size = iconv(conv_hnd, &p_in_buf, &in_size, &p_out_buf, &out_size); if (conv_size == (size_t) -1) { info->map[i] = '?'; out_size = sizeof(out_buf); p_out_buf = out_buf; // reset the shift state iconv(conv_hnd, 0, 0, &p_out_buf, &out_size); } else { info->map[i] = out_buf[0] | (out_buf[1] << 8); } } iconv_close(conv_hnd); return 1; } anonymous (14.09.04 09:30:47 MSD) Ссылка