查看编码 (show)
test=# \encoding
SQL_ASCII
test=# show client_encoding;
client_encoding
-----------------
SQL_ASCII
(1 row)
test=# show server_encoding;
server_encoding
-----------------
UTF8
(1 row)
临时设置编码 (set)
test=# set client_encoding = 'UTF8';
SET
test=# \encoding
UTF8
test=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
一劳永逸的变为utf8如下:
检测本地默认字符集
$ locale
LANG=en_HK.UTF-8
LANGUAGE=zh_CN:zh:en_US:en
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=C.UTF-8
修改本地的.bashrc 文件,追加下边三行:
export LANG="C.UTF-8"
export LC_ALL="C.UTF-8"
export LANGUAGE=
记得 source .bashrc 文件,再次执行locale:
$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=C.UTF-8
psql 链接数据库查看字符集:
test=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
一切都搞定了!