使用pyodbc和sql server 2005从数据库获取结果时出现ASCII错误

2024-04-26 00:03:09 发布

您现在位置:Python中文网/ 问答频道 /正文

从数据库中获取结果时出现此错误。在

UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 3: ordinal not in range(128)

经过更仔细的检查,我发现有几个记录中有“和”。我不能直接替换或忽略它们,因为我的数据库是个人信息的记录,不能更改。我读了很多关于这方面的链接,其中大部分说,我必须更换或删除他们。我也尝试过使用what'sin here,但当涉及到数据库时,它不适用。另外,我试过这个one,这个one,但似乎没有什么能回答我的问题。我正在格式化获取的结果,如下所示:

cursor.execute("select * from dummy")
str1=''
for row in cursor:
    str1 = str1 + ''.join(map(str,row)) + "\n" 
print str1

并输出上述误差。 但是,当我尝试这个时:

^{pr2}$

它没有显示错误,但结果是:

(u'Ara\xf1as    ', )
(u'Para\xf1aque ', )
(u'Ma\xf1a\xf1a    ', )
(u'Di\xd1a      ', )

而不是

Arañas
Parañaque
Mañaña
DiÑa

如何解决这个ascii错误?在


Tags: in数据库错误记录asciionecursorrow