Es scheint, dass die Codierung von Server zu Client unterschiedlich ist. Sie können dies mit diesen Befehlen überprüfen:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL konvertiert automatisch in Client-Codierung. Wahrscheinlich sind beide in Ihrer Umgebung unterschiedlich. Sie können client_encoding konfigurieren in vielerlei Hinsicht:
- Mit
SETBefehl beim Öffnen der Verbindung in Ihrer App:SET client_encoding = 'UTF-8'; - Mit
set_configFunktion bei geöffneter Verbindung in Ihrer App:SELECT set_config('client_encoding', 'UTF-8', true); - Konfigurieren Sie
PGCLIENTENCODINGUmgebungsvariable in Ihrem Betriebssystem:export PGCLIENTENCODING=UTF8 - Bearbeiten Sie
client_encodingin der Postgres-Konfigurationsdatei - Verwenden Sie
ALTER SYSTEM(Danach müssen Sie die Konfiguration mitSELECT pg_reload_conf();aktualisieren ):ALTER SYSTEM SET client_encoding = 'UTF-8';
Aktualisierung: Leider ist es nicht möglich, die automatische Konvertierung von SQL_ASCII zu aktivieren.
Zitat aus Postgres-Dokumentation .