1

PostgreSQL データベースを使用する Delphi アプリケーション(UniDac コンポーネントを使用)。データはデータベースに UTF8 で格納されます。国際文字を読み取るには、次のハンドラーを使用します。

procedure TdmMain.OnGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  Text := Utf8decode (Sender.AsString);
end;

しかし、どのようにデータを保存して DB に戻すことができるのでしょうか? で別のハンドラを作成しましたがOnSetText、動作しSender.AsString := Utf8Encode (Text);ていません。

どうすればそれが可能ですか?ありがとう。

4

2 に答える 2

2

データを読み込んで編集する場合、自分で utf-8 テキストを再コーディングする必要はありません (たとえば、 OnGetTextイベントで)。たとえば、次のように、プロパティのUseUnicodeオプションを に設定するだけで十分です。TUniConnection.SpecificOptionsTrue

UniConnection1.SpecificOptions.Values['PostgreSQL.UseUnicode'] := 'True';

UniDAC はこれを自動的に行います。

http://www.devart.com/unidac/docs/pgsqlprov_article.htm

于 2013-07-22T14:45:28.177 に答える