2004年01月30日 星期五 10:17
你好: 你的程序出现以下的错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128) 是因为你的Python没有安装unicode编码以支持中文,你可以到 http://sourceforge.net 下载Chinesecodecs安装后即可, 如果将你的数据库中的内容全改为英文,你原先的程序应该可以正确运行。 下面是加了中文字段的处理的程序(我用的是ms sqlserver 2000): import win32com.client def test(): conn = win32com.client.Dispatch(r'ADODB.Connection') DSN = 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=FUJI;Data Source=192.168.101.168' conn.Open(DSN) rs = win32com.client.Dispatch(r'ADODB.Recordset') rs_name = 'Account' rs.Open('[' + rs_name + ']', conn, 1,2) flds_dict = {} print rs.Fields.Count for x in range(rs.Fields.Count): flds_dict[x] = rs.Fields.Item(x).Name f0 = rs.Fields.Item(0).Value print f0 f1 = rs.Fields.Item(1).Value s=f1.encode('eucgb2312_cn') print s conn.Close() if __name__=='__main__': test() 上面程序运行的结果如下: C:\Program Files\WebSite\Extensions>python test4.py 15 HM029 祯展实业股份有限公司 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040130/8f62c68b/attachment.html
Zeuux © 2024
京ICP备05028076号