Страница 1 из 1

Проблема с сохранением blob в кодировке DOS866

Добавлено: 24 июл 2008, 15:46
vetal71
Использую FB 2.1. и FIB 6.7
База данных в кодировке WIN1251. Таблица

Код: Выделить всё

CREATE TABLE TEST (
    ID_REC       INTEGER NOT NULL, 
    NAME VARCHAR(30) CHARACTER SET WIN1251
      COLLATE WIN1251,    
    TXT_FILE     BLOB SUB_TYPE 1 SEGMENT SIZE 80  CHARACTER SET DOS866
);
При выполнении следующего кода

Код: Выделить всё

qExec.SQL.Text = 'INSERT INTO TEST (ID_REC,NAME,TXT_FILE) '+
'VALUES (1,:p0,:p1)';
Params[0].AsString:='Имя файла';
Params[1].LoadFromFile('c:\1.txt');
qExec.ExecQuery;
сервер сообщает об ошибке "Cannot transliterate character set..."

Re: Проблема с сохранением blob в кодировке DOS866

Добавлено: 25 июл 2008, 09:49
vetal71
Так ничего с досовкой кодировкой и не получилось.Пришлось сохранять в кодировке WIN1251,затем в приложении выставлять свойства для коректного отображения.

Добавлено: 25 июл 2008, 13:23
Attid
а что должно было получится ? сервер должен был отгадать какая у тя там кодировка и перекодировать ? =)

подключайся с досовской кодировкой, он тебе перекодирует и сохранит в 1251.

Добавлено: 25 июл 2008, 22:40
kdv
и зачем вообще надо было указывать досовскую кодировку...
создай блоб подтипа 0 и храни в нем хоть иврит.
Раньше разницы между подтипами 0 и 1 не было, сейчас появилось, но я не помню, зачем именно. Возможно чтобы осуществлять транслитерацию если коннект в другой кодировке.
В общем, подтип 0 и все.

Добавлено: 27 июл 2008, 22:36
vetal71
Спасибо, попробую