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

FireBird и Unicode. Помогите новичку!

Добавлено: 27 авг 2006, 12:53
MaxCmd
Помогите пожалуйста, как работать с Unicode данными в FireBird?
IBExpertом создал БД(Charset=UNICODE_FSS), потом таблицы с полями UNICODE_FSS.
На Delphi для отображения/добавления данных использую TntUnicodeControls, работать с таблицами есть только IBQuery. Если я в таблицу добавляю Unicode строку, потом получаю его как "???????".
На параметрах подключения к БД(компонент IBDataBase) тоже Sharacter Set задан на UNICODE_FSS.
Есть ли отправить запрос как WideString или другой способ.
Пожалуйста, напишите подробнее, потому что я читал ЧаВо и ничего не мог сделать.
Я сейчас сделаю так:
Добавление:

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

Query.SQL.Clear;
Query.SQL.Add('INSERT INTO REGIONS (ID, NAME) VALUES(GEN_ID(REGION__ID, 1), "'+ TntEdit1.Text + '")');
Query.ExecSQL;
Получение:

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

Query.SQL.Clear;
Query.SQL.Add('SELECT * FROM REGIONS');
Query.Open;
TntEdit1.Text := Query.FieldValues['NAME'];
Заранее благодарю!

Добавлено: 27 авг 2006, 13:30
dimitr
научись преобразовывать WideString в UTF-8 и будет тебе щастье

Добавлено: 27 авг 2006, 13:33
kdv
спрашивай либо тут, либо на sql.ru. одновременно - не надо.
IBX с unicode не работает. unicode_fss - не совсем unicode
(http://www.ibase.ru/devinfo/ib_unicode.htm).
полноценная и нормальная поддержка юникода на уровне сервера будет только в Firebird 2.0 и IB 8.
Полноценная поддержка unicode на клиенте есть в последней версии FIBPlus.

Добавлено: 27 авг 2006, 14:10
MaxCmd
спрашивай либо тут, либо на sql.ru. одновременно - не надо.
Извините. Я просто уже 2 дня в поиске ответа.
FIBPlus какая последная версия?
У меня стоит версия 5.3. И еще на http://www.devrace.com/en/fibplus/download/19-42.php ничего нету. 404 ощибка.:)
2dimitr: можете подробнее?

Добавлено: 27 авг 2006, 15:15
kdv
а www.devrace.com открыть не пробовали?

Добавлено: 21 сен 2006, 15:13
Lars
Был опыт разработки Firebird 1.5 и Firebird 2 с казахским языком в уникоде.
Компоненты доступа - FibPlus 6.3
Отображение - TntControls.

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

TntEdit1.Text := Query.FieldValues['NAME'];
Как в компоненте тип поля определен?