

TeraTermからsshで各サーバーに接続しており、DB (PostgreSQL)に入っている日本語データは`sjis`となりますが、毎回`set
client_encoding to 'sjis'`を設定しないと日本語が表示されません。

これを`set client ...`としないで、自動的に設定されてログインしたらすぐに日本語が確認できるようにしたいのですが、設定方法を教えてください。


CC BY-SA 4.0
2019-01-23T04:29:02.250
52235
2019-05-03T07:24:20.533
2019-05-03T07:24:20.533
3060
20350
question
postgresql teraterm
Teratermの表示をデフォルトsjisにしたい


Tera Termの質問ではなく、PostgreSQLの質問ですかね。

[PostgreSQL 文書 - 第
22章多言語対応](https://www.postgresql.jp/document/9.3/html/multibyte.html)の「22.3.3.
サーバ・クライアント間の自動文字セット変換」に解説がありますね。


CC BY-SA 4.0
2019-01-23T04:56:12.743
52237
2019-01-23T04:56:12.743
21092
52235
answer


TeraTermの設定を変更してしまうと、恐らくPostgreSQLとは関係ないサーバ上での操作時に別の文字化けが発生することになります。

[Kohei TAMURA
さんの回答](https://ja.stackoverflow.com/a/52237/3060)の補足になりますが、サーバがLinuxでシェルがbashだと仮定すると以下いずれかの方法でPostgreSQLサーバへの接続時の文字コードを変更すべきかと思います。

  * `.bashrc`, `.bash_profile`などに以下の設定を追記
[code]     export PGCLIENTENCODING="sjis"

    
[/code]

  * postgresql.confに以下の設定を追記
[code]     # vi /var/lib/pgsql/<PG_VER>/data/postgresql.conf

    
    client_encoding = sjis
    
[/code]


CC BY-SA 4.0
2019-05-03T07:15:53.553
54682
2019-05-03T07:15:53.553
3060
52235
answer