DBGrid display "???" instead russian symbols with Oracle.
Original Reporter info from Mantis: amber
-
Reporter name: amber
Original Reporter info from Mantis: amber
- Reporter name: amber
Description:
I'm using an Oracle database with parameters:
NLS_NCHAR_CHARACTERSET: UTF8
NLS_CHARACTERSET: CL8MSWIN1251
NLS_LANGUAGE: AMERICAN
DBGrid display "???" instead russian symbols. I tried changing the CharSet property in OracleConnection, but it didn't help. To display Russian characters, I have to use the code:
...
Field.OnGetText := GetText;
Field.OnSetText := SetText;
...
procedure GetText(Sender: TField; var aText: string;
DisplayText: Boolean);
begin
If @aText<>nil then
aText := CP1251ToUTF8(Sender.AsString);
end;
procedure SetText(Sender: TField; const aText: string);
begin
Sender.AsString := UTF8ToCP1251(aText);
end;
...
But I would like DBGrid to do the string conversion itself.
Mantis conversion info:
- Mantis ID: 38661
- OS: Windows
- OS Build: 7
- Version: 3.0.4