PostgreSQL: problemi di codifica su Windows quando si utilizza l’utilità della riga di comando psql

Sto lavorando in un sistema di monitoraggio centralizzato su Windows 2008 R2, ho installato PostgreSQL 9.3 per usare psql dalla riga di comando.

Quando provo ad accedere ad alcuni Postgres remoti (un 8,4 nel mio caso principale) ho un errore con la codifica:

comando:

psql.exe -h 192.168.114.12 -p 5432 -d db_seros_transaccion -U postgres -f script.sql 

errore:

 psql: FATAL: la conversión entre WIN1252 y LATIN1 no está soportada 

Provo ad aggiungere la frase

 SET client_encoding = 'UTF8'; 

nel mio script ma il problema persiste (e anche con altre codifiche, come LATIN1 e WIN1252).

Dopo aver cercato su Google ho trovato persone che aggiornano alcune righe nel server per effettuare la connessione, e questo è un problema per me.

Qualcuno può aiutarmi a fare una connessione usando psql senza un aggiornamento? È ansible?

Grazie mille Craig Ringer , funziona, finalmente funziona! Ora sei il mio nuovo idolo!

I passaggi sono:

  1. apri il cmd
  2. SET PGCLIENTENCODING = utf-8
  3. chcp 65001
  4. psql -h your.ip.addr.ess -U postgres