Python与MSSQL编码问题

0 投票
1 回答
3425 浏览
提问于 2025-04-16 10:34

你好

我想用pymssql这个库把数据写入MSSQL数据库,但遇到了编码问题。下面是我用来写入数据库的示例代码:

# -*- coding: utf-8 -*-
import _mssql

....
Connection info data here
....


def mssql_connect():
    return _mssql.connect(server=HOST, user=USERNAME, password=PASS, database=DB, charset="utf-8")

con = mssql_connect()
INSERT_EX_SQL = "INSERT INTO myDatabsae (Id, ProgramName, ProgramDetail) VALUES (1, 'Test Characters ÜŞiçÇÖö', 'löşüIIğĞü');"
con.execute_non_query(INSERT_EX_SQL)
con.close()

可惜的是,写入数据库的数据出现了损坏:

在这里输入图片描述

我的MSSQL数据库的排序规则是:Turkish_CI_AS。请问这个问题该怎么解决呢?

1 个回答

1

这里有一个可能的解决方案

关键在于 INSERT_EX_SQ.encode('你的语言编码器')。试试这个:

con.execute_non_query(INSERT_EX_SQ.encode('your language encoder'))

撰写回答