私はSQL Server 2008のフィールドをPython 2.6から取得したいと考えています。ここでfreetdsでpymssqlを使用するときのUnicodeDecodeError
[ARGSERVER03]
host = 192.168.1.3
port = 1433
tds version = 7.0
コードされています:ここに私のFreeTDSの.confのファイルがある
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の管理スタジオからデータベースのプロパティでデータベースの照合をチェックして、それは次のとおりです。
Arabic_CI_AS
しかし、私はそれを使用する場合文字セットでは、次のようになります。
LookupError: unknown encoding: Arabic_CI_AS
このエラーはこれに非常に似ているように思わします。http:/ /stackoverflow.com/questions/9090915/how-to-read-large-file-with-unicode-in-python-3 –