PostgreSQLでマルチバイト文字を含むSQLクエリを実行した際、「符号化方式"UTF8"に対する不正なバイト列です」というエラーが発生する

提供: Support
移動先: 案内検索

問題

FireDACのTFDConnectionを使用してPostgreSQLへ接続し、例えば、マルチバイト文字を含む簡単なSQLクエリを実行した場合

FDQuery1.SQL.Text:=select * from 日本語テーブル’;
FDQuery1.Open;

以下のようなPostgreSQLのネイティブエラーが発生します。

[FireDAC][Phys][PG][libpq]ERROR: 符号化方式"UTF8"に対する不正なバイト列です:0x00

解決

このエラーが解決するには、TFDConnectionのExtendedMetadata=Trueに設定してください。

Thumb03002014ujpn.png

但し、TFDTableに対して効果はないため、TFDQueryをご利用ください。