【发布时间】:2010-07-08 16:01:14
【问题描述】:
下一个关于俄罗斯编码、mssql 和 python 的问题。
我有这个简单的代码:
import pymssql
import codecs
conn=pymssql.connect(host='localhost:1433', user='sa', password='password', database='TvPgms')
cur = conn.cursor()
cur.execute('SELECT TOP 5 CAST( Name AS nvarchar(400) ), CONVERT(nvarchar(400), idProgram) FROM dbo.Programs')
p=cur.fetchone()
h=p[0]
d=codecs.lookup(h)
print h
conn.close()
我收到错误:查找错误:未知编码:????? ??? ???????
我无法从 MSSQL 中提取俄语 varchar 字段。但是当我只是在相同的代码中打印字符串时一切正常,它会打印我正常的俄语字符。 谁知道怎么做?
如果我只是打印 h insted of codecs.lookup 而不是我得到任何错误,但它会打印我 ???????? ?????????
【问题讨论】:
-
请不要打开那么多类似的问题。在尝试获取数据库条目之前,您必须从头开始并让
print u"абвгдежзийкл"工作,这在 Windows 上似乎已经够难了。 -
这确实是另一个问题。当我打印你“абвгдежзийкл”时,它给了我абвгдежзийкл,但是当我从数据库中打印我的数据时,它给了我????????????????????????
-
在另一个线程中你说它不起作用。
-
我写道我解决了这个问题。现在是另一个问题!
标签: python windows unicode console pymssql