Python论坛  - 讨论区

标题:[python-chinese] ¹ØÓÚÁ¬½Óaccess

2004年01月30日 星期五 10:17

周海文 zhou.haiwen at gti.cn
Fri Jan 30 10:17:29 HKT 2004

你好:

你的程序出现以下的错误:
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

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号