TDBGridがTDataSourceにリンクされており、TFibDataSetが背後にあります。データセットのOnCalcFieldsに、文字列「Russisch(русский)」を追加しようとしています。
procedure TForm1.pFIBDataSet1CalcFields(DataSet: TDataSet);
begin
DataSource1.DataSet.FieldByName('Language').AsString := ('Russisch (русский)');
問題は、グリッドで結果が:Russisch(????????)として表示されることです。
DataSource1.DataSet.FieldByName('Language').AsWideString :=('Russisch (русский)');
同じ結果になります
FibDataBaseコンポーネントでは、ConnectParams.CharsetがUTF-8に設定されています。また、DBParams値を設定しましたlc_ctype=UTF8
。
私がここで間違っていることは何ですか?
LE:Delphi XE、Firebird、UTF8-これは私の問題を解決しません。
LE1:問題は計算フィールドでのみ発生します。ライブデータ「ロシア語(русский)」が正しく表示されます。