Het lijkt erop dat de codering van server tot client verschilt. U kunt dit verifiëren door deze commando's te geven:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL wordt automatisch geconverteerd naar clientcodering. Waarschijnlijk zijn beide verschillend in uw omgeving. U kunt client_encoding
. configureren op vele manieren:
- Gebruik
SET
commando bij open verbinding in je app:SET client_encoding = 'UTF-8';
- Gebruik
set_config
functie bij open verbinding in je app:SELECT set_config('client_encoding', 'UTF-8', true);
- Configureer
PGCLIENTENCODING
omgevingsvariabele in uw besturingssysteem:export PGCLIENTENCODING=UTF8
- Bewerk
client_encoding
in postgres configuratiebestand - Gebruik
ALTER SYSTEM
(je moet de configuratie daarna vernieuwen metSELECT pg_reload_conf();
):ALTER SYSTEM SET client_encoding = 'UTF-8';
Bijwerken: Helaas is het niet mogelijk om automatische conversie vanuit SQL_ASCII in te schakelen.
Citaat uit Postgres-documentatie .