LoginSignup
18

More than 5 years have passed since last update.

posted at

updated at

Organization

dplyr、PostgreSQL、Windows の組み合わせで文字化けを防ぐ

DB エンコーディングが UTF-8 の PostgreSQL に dplyr でアクセスしたら、Windows では日本語が文字化けする。

対処法としては postgresql.conf を編集して、client_encoding = sjis とする方法がある。

$ sudo vi /var/lib/pgsql9/data/postgresql.conf

ただし、これでは今度は Linux からアクセスしたときに文字化けしてしまう。

そこで、両方のマシンからアクセスしたいような場合は、client_encoding はデフォルトのまま、以下を Windows の環境変数に追加する。(参考:Windows 環境変数 Path の設定方法)

変数
PGCLIENTENCODING
sjis

これで大丈夫なはず。
クライアント(RStudioなど)を再起動してデータ取得してみてください。
LGTM 待ってます。

追記:DBエンコーディングの確認

$ psql -U postgres
postgres=# \l
結果
                                         List of databases
       Name        |     Owner      | Encoding |   Collate   |    Ctype    |   Access privileges   
-------------------+----------------+----------+-------------+-------------+-----------------------
 **************-db | ************** | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres          | postgres       | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

参考

関連

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
18