Sembra che la codifica sia diversa da server a client. Puoi verificarlo eseguendo questi comandi:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL converte automaticamente in codifica client. Probabilmente entrambi sono diversi nel tuo ambiente. Puoi configurare client_encoding in molti modi:
- Utilizzo di
SETcomando quando si apre la connessione nell'app:SET client_encoding = 'UTF-8'; - Utilizzo di
set_configfunzione quando si apre la connessione nell'app:SELECT set_config('client_encoding', 'UTF-8', true); - Configura
PGCLIENTENCODINGambiente var nel tuo sistema operativo:export PGCLIENTENCODING=UTF8 - Modifica
client_encodingnel file di configurazione di Postgres - Usa
ALTER SYSTEM(devi aggiornare la configurazione dopo di che conSELECT pg_reload_conf();):ALTER SYSTEM SET client_encoding = 'UTF-8';
Aggiornamento: Sfortunatamente non è possibile abilitare la conversione automatica da SQL_ASCII.
Citazione da documentazione Postgres .