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

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
vetal71
Сообщения: 12
Зарегистрирован: 04 сен 2007, 09:58

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

Сообщение vetal71 » 24 июл 2008, 15:46

Использую 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..."

vetal71
Сообщения: 12
Зарегистрирован: 04 сен 2007, 09:58

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

Сообщение vetal71 » 25 июл 2008, 09:49

Так ничего с досовкой кодировкой и не получилось.Пришлось сохранять в кодировке WIN1251,затем в приложении выставлять свойства для коректного отображения.

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 25 июл 2008, 13:23

а что должно было получится ? сервер должен был отгадать какая у тя там кодировка и перекодировать ? =)

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 25 июл 2008, 22:40

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

vetal71
Сообщения: 12
Зарегистрирован: 04 сен 2007, 09:58

Сообщение vetal71 » 27 июл 2008, 22:36

Спасибо, попробую

Ответить