python到mssql编码问题

时间:2011-01-25 07:57:33

标签: python sql-server character-encoding pymssql

问候

通过使用 pymssql 库,我想将数据写入MSSQL数据库,但是我遇到了编码问题。这是我写入DB的示例代码:

# -*- 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()

遗憾的是,写入数据库的数据已损坏:

enter image description here

我的mssql数据库的分类是:Turkish_CI_AS 怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

Here is a possible solution

关键是INSERT_EX_SQ.encode('your language encoder')。 试试这个:

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