IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
vetal71
- Сообщения: 12
- Зарегистрирован: 04 сен 2007, 09:58
Сообщение
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
Сообщение
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 и все.