web-dev-qa-db-ja.com

Postgres:クライアントのエンコーディングをデフォルトに設定

特定のテーブルからクエリを実行すると、多くの場合、エラーが発生します。

character with byte sequence 0xef 0xbf 0xbd in encoding "UTF8" has no equivalent in encoding "WIN1252"

さまざまなバイトですが、あなたは考えを理解します。私はこれを解決することができます:

set client_encoding to 'UTF8';

しかし、(非常に)厄介なことは、このclient_encodingセットを毎回実行する必要があることです。シングル。時間。 postgresを開きます。これをデフォルトに設定するにはどうすればよいですか?

また、テーブルのデータやこれから作成するデータベースのエンコーディングを変更する方法については質問していません。これは別の問題です。

4
Amalgovinus

また、ユーザーまたはロールのデフォルトとして設定することもできます(新しい接続が確立された後に有効になります)。

ALTER ROLE <rolename> SET client_encoding = 'UTF8';

オペレーティングシステムで環境変数 [〜#〜] pgclientencoding [〜#〜] を設定するか、_ 。psqlrcsetコマンドを含めることができます。 psqlにのみ必要です