エンコーディングはサーバーごとに異なるようです。次のコマンドを発行して、これを確認できます。
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQLは自動的にクライアントエンコーディングに変換します。おそらく、両方とも環境によって異なります。 client_encoding
を構成できます 多くの方法で:
-
SET
の使用 アプリで接続を開くときのコマンド:SET client_encoding = 'UTF-8';
-
set_config
の使用 アプリで接続を開いたときの関数:SELECT set_config('client_encoding', 'UTF-8', true);
-
PGCLIENTENCODING
を構成します OSの環境変数:export PGCLIENTENCODING=UTF8
-
client_encoding
を編集します postgres設定ファイル内 -
ALTER SYSTEM
を使用する (その後、SELECT pg_reload_conf();
を使用して構成を更新する必要があります。 ):ALTER SYSTEM SET client_encoding = 'UTF-8';
更新: 残念ながら、SQL_ASCIIからの自動変換を有効にすることはできません。
Postgresドキュメント からの引用 。