sql >> Databasteknik >  >> RDS >> PostgreSQL

SQLAlchemy och Postgres UnicodeDecodeError

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




  1. PHP PDO vs normal mysql_connect

  2. Postgres json nyckeltal

  3. MySQL-handledning:MySQL IN-klausul (grundläggande)

  4. Hur kan jag lagra och hämta bilder från en MySQL-databas med PHP?