0
通过使用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()
可悲的是已写入到数据库中的数据被破坏:
我的MSSQL数据库的Collacation是:Turkish_CI_AS
如何这个解决了吗?
是否将该字符串明确指定为unicode帮助?例如'INSERT_EX_SQL = u'INSERT INTO myDatabsae(Id,ProgramName,ProgramDetail)VALUES(1,'Test CharactersÜŞiçÇÖö','löşüIIğĞü');“` – Kimvais 2011-01-25 08:19:25
如果我unicode查询,我得到这样的错误:UnicodeEncodeError:'ascii'codec不能编码位置84-85字符:序号不在范围内(128) – Hellnar 2011-01-25 08:23:44