从MS SQL迁移到Postgres非ASCII字符错误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'

然后我通过psycopg2连接到Postgres,这是我的连接字符串参数

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

在PostgreSQL中,客户端和服务器编码分别为" Latin1"one_answers" UTF8"。我在psycopg2

中使用了命令
'insert into table1 values ('+ a +');' // here a is a unicode and a = u'xe2'

。但是存储在PostgreSQL中的数据是

Γ

哪里出错了?

检查窗口编码并替换:

cursor.execute ('insert into table1 values (%s)', a.decode('latin'));

相关内容

  • 没有找到相关文章

最新更新