Кодовая страница стандартной базы employee.fdb
Привет всем.
Вчера, пока возился с примером, случайно обнаружил что провайдер назначает текстовой колонке EMPLOYEE.FIRST_NAME тип DBTYPE_STR. Меня это, откровенно говоря, немного напрягло. Потому что ожидался тип DBTYPE_WSTR. И даже промелькнула мысль — «неужели я умудрился что-то сломать?».
Сегодня с утра разобрался. Оказывается у этой колонки (как, в прочем, и у остальных тоже) кодовая страница — NONE. Провайдер такие колонки публикует с типом DBTYPE_STR. Если просят вернуть данные в виде UNICODE-строки, то применяется конвертор от кодовой страницы ASCII.
Если указать в строке подключения свойство ctype_none равное нормальной кодовой странице, то (в случае unicode_mode=true), провайдер будет публиковать NONE-колонки с типом DBTYPE_WSTR.
Вообщем, разобрался и успокоился 🙂