python – Pymssql,如何使用它从MSSQL2008读取unicode数据
发布时间:2020-12-20 13:22:16 所属栏目:Python 来源:网络整理
导读:我在ubuntu-10.10上使用了pymssql-1.0.2和freetds-0.82.7. 另外,我在 windows-7上有一个mssql2008服务器. 我可以使用pymssql和freetds从ubuntu连接mssql. 但是我无法从mssql数据库中获取unicode数据.数据库排序规则是Cyrillic_General_CI_AS. 我的freetds.co
我在ubuntu-10.10上使用了pymssql-1.0.2和freetds-0.82.7.
另外,我在 windows-7上有一个mssql2008服务器. 我可以使用pymssql和freetds从ubuntu连接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.34mssql2008,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 预期结果是:“?мн?говьаймаг” 当我使用’UTF-8’字符集时,fetchall()调用抛出一个错误意味着utf8无法读取超出代码页范围的数据. 如何获取存储在mssql数据库中的unicode数据? 问候, 解决方法
它真的是Unicode数据吗?即,是cc_Name列varchar还是nvarchar?这听起来像是varchar – 在这种情况下,尝试使用cp1251或windows-1251作为charset而不是iso-8859-1.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |