Кодовая страница стандартной базы employee.fdb

Привет всем.

Вчера, пока возился с примером, случайно обнаружил что провайдер назначает текстовой колонке EMPLOYEE.FIRST_NAME тип DBTYPE_STR. Меня это, откровенно говоря, немного напрягло. Потому что ожидался тип DBTYPE_WSTR. И даже промелькнула мысль — «неужели я умудрился что-то сломать?».

Сегодня с утра разобрался. Оказывается у этой колонки (как, в прочем, и у остальных тоже) кодовая страница — NONE. Провайдер такие колонки публикует с типом DBTYPE_STR. Если просят вернуть данные в виде UNICODE-строки, то применяется конвертор от кодовой страницы ASCII.

Если указать в строке подключения свойство ctype_none равное нормальной кодовой странице, то (в случае unicode_mode=true), провайдер будет публиковать NONE-колонки с типом DBTYPE_WSTR.

Вообщем, разобрался и успокоился 🙂

Leave a Comment