Quando me conecto a um banco de dados Postgresql usando psql
, geralmente recebo estas mensagens:
=> SELECT * FROM question_view ;
ERROR: character with byte sequence 0xd7 0x9e in encoding "UTF8" has no equivalent in encoding "LATIN1"
Seguindo esta resposta SO , entendo que devo alterar a codificação do cliente de acordo:
SET client_encoding = 'UTF8';
Alterar o client_encoding
toda vez que me conecto ao banco de dados é complicado. Existe uma maneira de configurar permanentemente essa configuração, seja no .pgpass
arquivo ou em qualquer outro lugar?
Sim, existe: é
~/.psqlrc
(ou%APPDATA%\postgresql\psqlrc.conf
no Windows)Consulte o manual para obter detalhes: http://www.postgresql.org/docs/current/static/app-psql.html#AEN88713
Eu estava enfrentando o mesmo erro, mas mudar de ANSI (X64) para Unicode (x64) no meu ODBC conn corrigiu meu problema.