Миграция с ms sql на postgres nonascii символов ошибка python

Мне нужно создать скрипт Python для переноса данных из Microsoft SQL Server в PostgreSql. Проблема возникает с не ASCII символов. В Microsoft SQL Server у меня есть таблица с именем table1 со столбцом типа nvarchar, в котором хранится символ

â

Я использую pyodbc для извлечения персонажа. Моя строка подключения

"ms_sql":{
    "DRIVER":"{SQL Server Native Client 11.0}",
    "SERVER":"(localdb)\\v11.0",
    "DATABASE":"sheshant_database",
    "Trusted_Connection":"yes",
    "charset":"SQL_Latin1_General_CP1_CI_AS"

Параметры сортировки в ms sql: SQL_Latin1_General_CP1_CI_AS. Когда я получаю данные в Python, это дает

u'\xe2'

Затем я подключаюсь к postgres через psycopg2, и это мой параметр строки подключения.

    "postgres":{
    "host":"127.0.0.1",
    "user":"postgres",
    "password":"regards",
    "database":"cmots",
    "port":"5432"

В PostgreSQL кодировка клиента и сервера - 'latin1' и 'utf8' соответственно. Я использовал команду в psycopg2

'insert into table1 values ('+ a +');' // here a is a unicode and a = u'\xe2'

, Но данные, хранящиеся в PostgreSQL,

Γ

Где это пошло не так?

1 ответ

Проверьте кодировку Windows и замените ее:

cursor.execute ('insert into table1 values (%s)', a.decode('latin'));
Другие вопросы по тегам