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.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
期待される結果: "Өмнөговь аймаг" 実際の結果: "ªìíºãîâü àéìàã"
「UTF-8」文字セットを使用すると、fetchall() 呼び出しでエラーがスローされ、utf8 がコード ページの範囲外のデータを読み取れないことを意味します。
mssqlデータベースに保存されているUnicodeデータを取得するには? 手をあげてください!
よろしく、オーギル