IBProvider v1.7.0.227. Поддержка UNICODE
Мы начали новый этап развития нашего OLE DB провайдера для InterBase и предоставляем вам для тестирования новую версию — 1.7.0.227
Новое
Реализована реальная поддержка различных символьных наборов InterBase. При этом сохранен предыдущий режим, когда IBProvider не выполняет перекодировку строковых данных. За включение/отключение перекодировки отвечает новое свойство инициализации источника данных (строка подключения) и набора строк «unicode_mode«. По умолчанию перекодировка разрешена.
- «unicode_mode=false». В этом режиме провайдер не осуществляет перекодировку символьных данных и возвращает их как есть. «Free IBProvider» функционирует именно в таком режиме. В описании колонок указывается тип DBTYPE_STR.
- «unicode_mode=true». Режим по умолчанию. В качестве строкового типа указывается DBTYPE_WSTR и провайдер хранит и возвращает данные в UNICODE. Перекодировка реализована для обычных колонок, массивов и BLOB-полей.
В обоих режимах осуществляется корректное конвертирование между DBTYPE_WSTR и DBTYPE_STR.
Ограничения
- Поддерживаются только WINXXXX, DOSXXX и UNICODE_FSS.
- Для конвертации в UNICODE и обратно используется MultyByteToWideChar и WideCharToMultiByte. Поэтому если операционная система не поддерживает, например, CP_UTF8 (UNICODE_FSS), то будет возвращена ошибка.
- При получении текстового BLOB поля в виде объекта хранилища перекодировка не выполняется.
Поскольку работа над провайдером продолжается, эти ограничения будут устранены в ближайшем будущем.