Еще одно наблюдение.
Тест проводился в IBExpert. FB 2.1 SS win32.

База - dafault characterset win1251.
Подключение - win1251

CREATE TABLE TEST (
    ID    INTEGER,
    MEMO  BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET UNICODE_FSS
);

В таблице две записи.

1. UPDATE tset SET memo='мир' WHERE id=2
   SELECT * FROM test; memo неправильно т.е. не преобразуется в
AnsiChar;
   SELECT 'ку-ку' || memo FROM test - все ок.
   SELECT * WHERE memo CONTAINING - работает нормально

2. Используем параметр
 UPDATE tset SET memo=:memo WHERE id=2
   Параметр = 'мир'
   SELECT * FROM test; memo нормальное;
   SELECT 'ку-ку' || memo FROM test - ОШИБКА - Cannot transliterate
charset between
 character sets
SELECT * WHERE memo CONTAINING - старая ошибка.

Ответить