Subject Re: Firebird-embed-2.01 and a *.gdb with default character utf8
Author chentung7000
Thanks ! HeLen :

1. Just as you said; I delete C:\Windows\System32\gds32.dll,
stop Firebird_2.0.1 Super Server service,
install Firebird_2.0.1 Super Server again.
And then, everything works fine!
here is my report :
2. Under development,
start Firebird_2.0.1 Super Server service,
TIBDatabase.DatabaseName := 'utf.gdb' (default character set utf8),
TIBDatabase.Params := 'lc_ctype=utf8',
TIBDatabase.Connected := True; (OK)
3. Close Delphi 2007,
stop Firebird_2.0.1 Super Server service,
re_check everything according to the instructions on p. 114
of the release notes,
remove gds32.dll, gds32.dll.fb2, fbclient.dll
from C:\Windows\System32\ to other directory out of C:\Windows,
execute the application with Administrator priority,
It Worked !
4. In utf.gdb there is one table 'Mt',
in table Mt there are three fields :
Sno Integer,
Item varchar(100),
Doc blob SUB_TYPE 0 SEGMENT SIZE 4096;
5. codes for inserting :
sql := ' insert into Mt (Sno, Item, Doc)
values ( :Sno, :Item, :Doc ) ';

Q_.Close;
Q_.SQL.Clear;
Q_.SQL.Add(sql);
Q_.ParamByName('Sno') .AsInteger := NewSno;
Q_.ParamByName('Item').AsString :=
WideStringToUTF8String(TntInsEd.Text);
Q_.ParamByName('Doc') .AsString :=
WideStringToUTF8String(TntInsEd.Text);
Q_.ExecQuery;
6. codes for reading :
sql := ' select * from Mt order by Sno';

Q_.Close;
Q_.SQL.Clear;
Q_.SQL.Add(sql);
Q_.ExecQuery;

while(not Q_.Eof) do begin
Sno := Q_.FieldByName('Sno').AsInteger;
TntReadLb.Caption :=
UTF8StringToWideString(Q_.FieldByName('Item').AsString);
TntInsEd .Text :=
Utf8StringToWideString(Q_.FieldByName('Doc') .AsString);
TntMo.Lines.Add(Format('%d ',[Sno]) +
'Item: '+TntReadLb.Caption +
'Doc: ' +TntInsEd.Text);
Q_.Next;
end;
7. You are Grate!
The development team of Firebird are Grate!
Thanks to You All!

.chentung 2007.05.13