Postgresql eSET client\u encoding=UTF8。该文件位于~/.psqlrc(仅限您的用户)或/etc/psqlrc(系统范围)。请注意,此方法不会影响我们之前用于客户端编码的命令的结果,因为(我的重点):

Postgresql eSET client\u encoding=UTF8。该文件位于~/.psqlrc(仅限您的用户)或/etc/psqlrc(系统范围)。请注意,此方法不会影响我们之前用于客户端编码的命令的结果,因为(我的重点):,postgresql,postgresql-9.1,Postgresql,Postgresql 9.1,--command=command 指定psql将执行一个命令字符串command,然后退出。这在shell脚本中很有用使用此选项将忽略启动文件(psqlrc和~/.psqlrc) “cat~/.psqlrc和cat/etc/psqlrc的结果是什么?”在问题中添加client_encoding='UTF8'到/etc/postgresql/9.1/main/postgresql.conf并用/etc/init.d/postgresql restart重新启动postgresql没有效果。新连接

--command=command

指定psql将执行一个命令字符串command,然后退出。这在shell脚本中很有用使用此选项将忽略启动文件(
psqlrc
~/.psqlrc


“cat~/.psqlrc和cat/etc/psqlrc的结果是什么?”在问题中添加
client_encoding='UTF8'
/etc/postgresql/9.1/main/postgresql.conf
并用
/etc/init.d/postgresql restart
重新启动postgresql没有效果。新连接的客户端编码仍然是拉丁文1。设置环境变量确实有效,但正如您所说,这是特定于客户端的。也许对我的案子来说“足够好了”。。。
 client_encoding
-----------------
 UTF8
(1 row)
 client_encoding
-----------------
 LATIN1
(1 row)