postgresql 漢字
PostgreSQLで漢字を使えるようにするには、いくつかのステップがあります。
- データベースのエンコーディングを設定する: データベースのエンコーディングをUTF-8に設定します。UTF-8は、多言語の文字をサポートするための広く使われているエンコーディングです。データベースを作成する際に、以下のように指定します。
sql
CREATE DATABASE your_database_name ENCODING 'UTF8';
- csvファイルもUTF8にして、
tomioka_pt2018=# \copy stn from 'stn.csv' delimiter ',' csv header encoding 'UTF-8';
にする。 - で、
oid | name | folderpath | popupinfo | point_x | point_y | zoneflag
-----+--------------------------+------------+-----------+-------------+------------+----------
1 | □□□}□x□□ | Code_Stn | 700001 | 139.6298946 | 35.3670993 | 2
2 | □V□□□c | Code_Stn | 700002 | 139.619429 | 35.386768 | 2
3 | □□□c | Code_Stn | 700003 | 139.6159047 | 35.3835577 | 2
4 | □\□□□□ | Code_Stn | 700004 | 139.629443 | 35.3608848 | 2
5 | □w□|□□□w | Code_Stn | 700005 | 139.685247 | 35.628743 | 1とこんなザマになるんだけど、SQL(shell)を使うと、
oid | name | folderpath | popupinfo | point_x | point_y | zoneflag
-----+--------------------------+------------+-----------+-------------+------------+----------
1 | 京急富岡 | Code_Stn | 700001 | 139.6298946 | 35.3670993 | 2
2 | 新杉田 | Code_Stn | 700002 | 139.619429 | 35.386768 | 2
3 | 杉田 | Code_Stn | 700003 | 139.6159047 | 35.3835577 | 2
4 | 能見台 | Code_Stn | 700004 | 139.629443 | 35.3608848 | 2
5 | 学芸大学 | Code_Stn | 700005 | 139.685247 | 35.628743 | 1
6 | 旗の台 | Code_Stn | 700006 | 139.7027206 | 35.6048821 | 1
7 | 恵比寿 | Code_Stn | 700007 | 139.7101065 | 35.6467334 | 1
8 | 国立競技場 | Code_Stn | 700008 | 139.7143886 | 35.6797457 | 1と、ちゃんと出るんだな、
これが。クライアントの問題だけならいいんだど
に解決策が書いてありました。
yoko_db=# set client_encoding to utf8;
SET
yoko_db=# \encoding
UTF8
As:SQL でも表示されました。