我在ubuntu-10.10上使用过pymssql-1.0.2和freetds-0.82.7。另外,我在windows-7上有一台mssql2008服务器。我可以在ubuntu上使用pymssql和freetds连接到mssql。但是我无法从mssql数据库中获取unicode数据。数据库排序规则为Cyrillic_General_CI_AS。
我的freetds.conf文件如下所示:
[mssql2008]
host=10.0.0.34
port=1433
tds version=7.0我的代码如下所示:
conn = pymssql.connect(host=10.0.0.34\mssql2008, user=***, password=***, database=eoffice, as_dict=true, charset='iso-8859-1')
crms = conn.cursor()
crms.execute('SELECT cc_Name FROM tblHR_CodeClass')
for row in crms.fetchall():
raise u"Succeeded! Test data: " + row['cc_Name']
break预期的结果是:“Өмнөговьаймаг”实际的结果是:“ª?íºãàéé?ã”
请伸出你的手!
致敬,Orgil
发布于 2011-02-25 16:09:45
它真的是Unicode数据吗?也就是说,cc_Name列是varchar还是nvarchar?听起来像是varchar--在这种情况下,尝试使用cp1251或windows-1251作为字符集,而不是iso-8859-1。
https://stackoverflow.com/questions/5099710
复制相似问题