Есть БД:
- Код: Выделить всё
SET SQL DIALECT 3;
SET NAMES UTF8;
CREATE DATABASE 'C:\IBDATA\TEST_UTF8.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET UTF8;
CREATE TABLE TABLE1 (
ID INTEGER NOT NULL,
NAME VARCHAR(100) CHARACTER SET UTF8);
ALTER TABLE TABLE1 ADD CONSTRAINT PK_TABLE1 PRIMARY KEY (ID);
В Lazarus'е кидаю на форму IBConnection, SQLTransaction, SQLQuery, Datasource и DBGrid.
- Код: Выделить всё
IBConnection.CharSet:='UTF8';
IBConnection.Database:='C:\IBDATA\TEST_UTF8.FDB';
IBConnection.Transaction:=SQLTransaction;
IBConnection.Password:='masterkey';
IBConnection.UserName:='SYSDBA';
SQLTransaction.Database:=IBConnection;
SQLQuery.Database:=IBConnection;
SQLQuery.SQL.Text:='select * from TABLE1';
Datasourse.DataSet:=SQLQuery;
DBGrid.Datasourse:=Datasource;
IBConnection.Open;
SQLQuery.Open;
После редактирования в DBGrid'e делаю:
- Код: Выделить всё
SQLQuery.ApplyUpdates;
SQLTransaction.Commit;
SQLQuery.Open;
то, что было набрано "по-русски", стало .... не по-русски.
Например:
Один - РћРґРёРЅ
Два - Два
Три - РўСЂРё
Четыре - Четыре
Что не так?
Очень прошу...