PostgreSQL: encoding-Probleme unter Windows bei der Verwendung von psql Befehl Linie Dienstprogramm

Arbeite ich in einer zentrale monitoring-system auf Windows 2008 R2, ich habe installiert eine PostgreSQL-9.3 verwenden psql von der Befehlszeile aus.

Wenn ich versuche, den Zugriff auf bestimmte remote-Postgres (ein 8,4 " in meinem wichtigsten Fall) ich habe einen Fehler mit der Codierung:

Befehl:

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

Fehler:

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

Ich versuchen Sie, den Satz

SET client_encoding = 'UTF8';

in meinem Skript, aber das problem weiterhin besteht (und mit anderen Codierungen auch, wie LATIN1 & WIN1252).

Nach googeln ich Menschen gefunden, die das update einige Zeilen in die server, um die Verbindung herzustellen, und dies ist ein problem für mich.

Kann mir jemand helfen eine Verbindung mit psql ohne ein update? Ist es möglich?

Haben Sie versucht, die vorgeschlagene Lösung in diesem thread, z.B. laufen chcp 65001 vor psql?
Ja, nach der Frage, versuchen Sie mit chcp 65001, 437, 1252 zu testen. nicht Arbeit. jetzt habe ich versucht die sqlrun werfen Sie einen odbc - (in wenigen Minuten die Ergebnisse ;P)
Der 8.4 ist auf Linux, richtig?
Neben chcp 65001 um eine unicode-codepage möglicherweise müssen Sie auch sagen psql es in einem unicode-terminal während des Startvorgangs. Sie können nicht SET client_encoding später, da brauchst du schon eine funktionierende Verbindung. Versuchen Sie auch SET PGCLIENTENCODING=utf-8 (nach der chcp 65001), bevor Sie psql und Bericht zurück.
Vielen Dank Craig Ringer, funktioniert, funktioniert endlich! Sie sind meine neuen idool jetzt! Die Schritte sind: 1. öffnen Sie die cmd 2. SET PGCLIENTENCODING=utf-8-3. chcp 65001 4. psql -h 192.168.114.12 -U postgres

InformationsquelleAutor Frank N Stein | 2014-01-06

Schreibe einen Kommentar