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
SET
kommando, når du åbner forbindelse i din app:SET client_encoding = 'UTF-8';
- Ved brug af
set_config
funktion, når du åbner forbindelse i din app:SELECT set_config('client_encoding', 'UTF-8', true);
- Konfigurer
PGCLIENTENCODING
miljø var i dit OS:export PGCLIENTENCODING=UTF8
- Rediger
client_encoding
i 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 .