"Kovalenko Dmitry" ...

Привет всем.

При получении текстовых данных, сервер возвращает в младшем байте 
XSQLVAR::sqlsubtype идентификатор кодовой страницы этих данных.

Это очень полезная вещь. И определенный контингент, думаю, полностью со мной 
полносью согласен.

   А оно не совпадает с чарсетом коннекта ?

Но сам по по себе он бесполезен. Ибо, за исключением железно предопределенных NONE, OCTETS + может быть FSS, его нужно конвертнуть в символьное имя. А потом по этому имени определить способ интерпретации.

Ну там WIN1251, BIG_5, UTF8 и так далее...

Ага. Делаем запрос к RDB$CHARACTER_SETS за именем. Получаем строку. С идентификатором кодовой страницы этой строки. Который снова нужно конвертировать.

   См. выше

Получаем замкнутый круг.

Вопрос - кто виноват и что делать?

<здесь был ответ на "что делать", и он мне не понравился, хотя ...>

   Неужели ты решил зашить мапировку charset_id -> charset_name в провайдер ? :)

--
Хорсун Влад

Ответить