Det verkar som om kodningen är olika från server till klient. Du kan verifiera detta genom att utfärda dessa kommandon:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL konverterar automatiskt till klientkodning. Förmodligen är båda olika i din miljö. Du kan konfigurera client_encoding
på många sätt:
- Med
SET
kommando när du öppnar anslutningen i din app:SET client_encoding = 'UTF-8';
- Med
set_config
funktion när du öppnar anslutningen i din app:SELECT set_config('client_encoding', 'UTF-8', true);
- Konfigurera
PGCLIENTENCODING
miljö var i ditt operativsystem:export PGCLIENTENCODING=UTF8
- Redigera
client_encoding
i postgres konfigurationsfil - Använd
ALTER SYSTEM
(du måste uppdatera config efter det medSELECT pg_reload_conf();
):ALTER SYSTEM SET client_encoding = 'UTF-8';
Uppdatering: Tyvärr är det inte möjligt att aktivera automatisk konvertering från SQL_ASCII.
Citat från Postgres-dokumentation .