sql >> Database >  >> RDS >> PostgreSQL

SQLAlchemy en Postgres UnicodeDecodeError

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 met SELECT 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 .




  1. Toegang tot mysql op localhost vanuit minikube

  2. Oracle kopieert rijen naar dezelfde tabel met verschillende datums

  3. Hoe alle controlebeperkingen in SQL Server-database uit te schakelen - SQL Server / TSQL-zelfstudie, deel 87

  4. Hoe de IF-instructie werkt in SQL Server