我想从 python 2.6 中获取 SQL Server 2008 中的一个字段。这是我的 freeTDS .conf 文件:
[ARGSERVER03]
host = 192.168.1.3
port = 1433
tds version = 7.0
这是代码:
conn = pymssql.connect(host='192.168.1.3', user='****', password='****', database='TrafficMonitor', as_dict=True, charset='UTF-8')
i = 0
cur.execute('SELECT * FROM dbo.tblTrafficCounterData')
while i < 10:
car = cur.fetchone_asdict()
if car is None:
break
c = car['Class']
print c
i = i + 1
但它给出了:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd3 in position 0: invalid continuation byte
Unicode 字段是波斯语。回溯是为了线car = cur.fetchone_asdict()
[编辑]
我已经从 sql server management studio 检查了数据库属性中的数据库排序规则,它是:
Arabic_CI_AS
但是当我在字符集中使用它时,它给出了:
LookupError: unknown encoding: Arabic_CI_AS