Det ser ud til, at kodningen er forskellig fra server til klient. Du kan bekræfte dette ved at udstede disse kommandoer:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL konverterer automatisk til klientkodning. Sandsynligvis er begge forskellige i dit miljø. Du kan konfigurere client_encoding på mange måder:
- Ved brug af
SETkommando, når du åbner forbindelse i din app:SET client_encoding = 'UTF-8'; - Ved brug af
set_configfunktion, når du åbner forbindelse i din app:SELECT set_config('client_encoding', 'UTF-8', true); - Konfigurer
PGCLIENTENCODINGmiljø var i dit OS:export PGCLIENTENCODING=UTF8 - Rediger
client_encodingi postgres-konfigurationsfilen - Brug
ALTER SYSTEM(du skal opdatere config efter det medSELECT pg_reload_conf();):ALTER SYSTEM SET client_encoding = 'UTF-8';
Opdatering: Desværre er det ikke muligt at aktivere automatisk konvertering fra SQL_ASCII.
Citat fra Postgres-dokumentation .