PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

SQLAlchemy i Postgres UnicodeDecodeError

Wygląda na to, że kodowanie różni się w zależności od serwera. Możesz to sprawdzić, wydając te polecenia:

SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');

PostgreSQL automatycznie konwertuje na kodowanie klienta. Prawdopodobnie oba są różne w twoim środowisku. Możesz skonfigurować client_encoding na wiele sposobów:

  • Korzystanie z SET polecenie po otwarciu połączenia w Twojej aplikacji:SET client_encoding = 'UTF-8';
  • Korzystanie z set_config funkcja po otwarciu połączenia w Twojej aplikacji:SELECT set_config('client_encoding', 'UTF-8', true);
  • Skonfiguruj PGCLIENTENCODING var środowiska w twoim systemie operacyjnym:export PGCLIENTENCODING=UTF8
  • Edytuj client_encoding w pliku konfiguracyjnym postgresa
  • Użyj ALTER SYSTEM (musisz następnie odświeżyć konfigurację za pomocą SELECT pg_reload_conf(); ):ALTER SYSTEM SET client_encoding = 'UTF-8';

Aktualizacja: Niestety nie jest możliwe włączenie automatycznej konwersji z SQL_ASCII.

Cytat z dokumentacji Postgresa .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pobrać elementy o unikalnym numerze z tablicy json w PostgreSQL?

  2. LIKE z % na nazwach kolumn

  3. Jak przetwarzać transakcje rozproszone w ramach postgresql?

  4. Wyodrębnij miesiąc z daty w PostgreSQL

  5. Nie można użyć migracji w EF Core:42P07:relacja AspNetRoles już istnieje