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