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
SETkommando när du öppnar anslutningen i din app:SET client_encoding = 'UTF-8'; - Med
set_configfunktion när du öppnar anslutningen i din app:SELECT set_config('client_encoding', 'UTF-8', true); - Konfigurera
PGCLIENTENCODINGmiljö var i ditt operativsystem:export PGCLIENTENCODING=UTF8 - Redigera
client_encodingi 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 .