PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQLAlchemy и Postgres UnicodeDecodeError

Изглежда, че кодирането е различно от сървър до клиент. Можете да проверите това, като издадете следните команди:

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

PostgreSQL автоматично преобразува в клиентско кодиране. Вероятно и двете са различни във вашата среда. Можете да конфигурирате client_encoding по много начини:

  • Използване на SET команда при отворена връзка във вашето приложение:SET client_encoding = 'UTF-8';
  • Използване на set_config функция при отворена връзка във вашето приложение:SELECT set_config('client_encoding', 'UTF-8', true);
  • Конфигурирайте PGCLIENTENCODING променлива на средата във вашата ОС:export PGCLIENTENCODING=UTF8
  • Редактирайте client_encoding в конфигурационния файл на postgres
  • Използвайте ALTER SYSTEM (трябва да опресните конфигурацията след това с SELECT pg_reload_conf(); ):ALTER SYSTEM SET client_encoding = 'UTF-8';

Актуализация: За съжаление не е възможно да се активира автоматично преобразуване от SQL_ASCII.

Цитат от документация на Postgres .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Потребители на приложението срещу защита на ниво ред

  2. Как да импортирам съществуващи *.sql файлове в PostgreSQL 8.4?

  3. Не може да се свърже с PostgreSQL Remotely на екземпляр на Amazon EC2 с помощта на PgAdmin

  4. Слайдове за разговор:Подобрения в разделянето в PostgreSQL 11

  5. Не може да се декларира променлива във функция на PostgreSQL