Привет усем.

Чего то конференция хереть начала. Наверное, все ушли на борьбу с мировым кризисом ... :-)

Вчера, перед тем как отключится, сделал потрясающее открытие. Дарю. Правда, не знаю кто его тут сможет оценить -

Для работы провайдеров, реализующих ISC API (а-ля fbclient.dll / gds32.dll), достаточно оперировать такими идентификаторами кодовых страниц
- NONE (ID:0)
- OCTETS (ID:1)
- UNICODE_FSS(ID:3)
- CS_RUNTIME (ID:127)

Если клиент указал кодовую страницу подключений !=NONE, то юзаются идентификаторы NONE, OCTETS, CS_RUNTIME, где CS_RUNTIME - подразумевается кодовая страница подключения (WINxxxx, DOSxxx, ...). Именно в CS_RUNTIME возвращаются текстовые данные. Реальный идентификатор кодовой страницы подключения, на который отображается CS_RUNTIME, уже не актуален.

Если устанавливается подключение с использованием NONE, то юзаются идентификаторы
NONE, OCTETS, UNICODE_FSS. Текстовые данные возвращаются в UNICODE_FSS

Идентификаторы кодовых страниц возвращаются в XSQLVAR::subtype (CHAR, VARCHAR) и XSQLVAR::sqlscale (текстовые блобы)

Пожалуй, я понял то, ради чего все и затеял :-)

----
Коваленко Дмитрий.

Ответить