| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:写数据库出现乱码问题
取消只看楼主 加入收藏
qwerty1217
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-28
收藏
 问题点数:0 回复次数:1 
写数据库出现乱码问题
我的数据库中有OLE对象,写入出现乱码,读出也是乱码,哪个为高手能指点为什么?
谢谢?
搜索更多相关主题的帖子: 数据库 乱码 
2006-04-30 22:47
qwerty1217
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-28
收藏
得分:0 

上传的时候报如下错误:我在数据库中看到的是乱码,不能显示中文,只能显示数字或是字母。为什么??
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
/insertlaigao.asp, 第 115 行

  • 浏览器类型:
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)
    代码如下

    <%
    Response.Expires=0
    Function bin2str(binstr)
    Dim varlen,clow,ccc,skipflag
  • skipflag=0
    ccc = ""
    If Not IsNull(binstr) Then
    varlen=LenB(binstr)
    For i=1 To varlen
    If skipflag=0 Then
    clow = MidB(binstr,i,1)
    If AscB(clow) > 127 Then
    ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
    skipflag=1
    Else
    ccc = ccc & Chr(AscB(clow))
    End If
    Else
    skipflag=0
    End If
    Next
    End If
    bin2str = ccc
    End Function

  • varByteCount = Request.TotalBytes
    bnCRLF = chrB( 13 ) & chrB( 10 )
    binHTTPHeader=Request.BinaryRead(varByteCount)
    Divider = LEFTB( binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF ) - 1 )
  • '开始读非文件域的数据
    Do while lenB(binHTTPHeader)>46
  • binHeaderData = LeftB(binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF & bnCRLF )-1)
    strHeaderData=bin2str(binHeaderData)
  • lngFieldNameStart=Instr(strHeaderData,"name="&chr(34))+Len("name="&chr(34))
    lngFieldNameEnd=Instr(lngFieldNameStart,strHeaderData,chr(34))

  • strFieldName=Mid(strHeaderData,lngFieldNameStart,lngFieldNameEnd-lngFieldNameStart)
    strFieldName=Trim(strFieldName)
    strFieldName=Replace(strFieldName,vbcrlf,vbnullstring)
  • '判断文件数据时候开始
    If strComp(strFieldName,"FileUploadStart",1)=0 Then
    binHTTPHeader=MIDB(binHTTPHeader,INSTRB( DataStart + 1, binHTTPHeader, divider ))
    exit do
    End if
  • DataStart = INSTRB( binHTTPHeader, bnCRLF & bnCRLF ) + 4
    DataEnd = INSTRB( DataStart + 1, binHTTPHeader, divider ) - DataStart
  • binFieldValue=MIDB( binHTTPHeader, DataStart, DataEnd )
    strFieldValue=bin2str(binFieldValue)
    strFieldValue=Trim(strFieldValue)
    strFieldValue=Replace(strFieldValue,vbcrlf,vbnullstring)
  • '非文件上传域变量赋值
    execute strFieldName&"="""&strFieldValue&""""

  • binHTTPHeader=MIDB(binHTTPHeader,INSTRB( DataStart + 1, binHTTPHeader, divider ))
  • loop
  • '开始处理文件数据
    Do while lenB(binHTTPHeader)>46

  • binHeaderData = LeftB(binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF & bnCRLF )-1)
  • strHeaderData=bin2str(binHeaderData)
  • '读取上传文件的Content-Type
    lngFileContentTypeStart=Instr(strHeaderData,"Content-Type:")+Len("Content-Type:")
    strFileContentType=Trim(Mid(strHeaderData,lngFileContentTypeStart))
    strFileContentType=Replace(strFileContentType,vbCRLF,vbNullString)
  • '读取上传的文件名
    lngFileNameStart=Instr(strHeaderData,"filename="&chr(34))+Len("filename="&chr(34))
    lngFileNameEnd=Instr(lngFileNameStart,strHeaderData,chr(34))
    strFileName=Mid(strHeaderData,lngFileNameStart,lngFileNameEnd-lngFileNameStart)
    strFileName=Trim(strFileName)
    strFileName=Replace(strFileName,vbCRLF,vbNullString)
  • '读取上传文件数据
    DataStart = INSTRB( binHTTPHeader, bnCRLF & bnCRLF ) + 4
    DataEnd = INSTRB( DataStart + 1, binHTTPHeader, divider ) - DataStart
  • If strFileName<>"" Then
  • binFieldValue=MIDB( binHTTPHeader, DataStart, DataEnd )
  • '将上传的文件写入数据库
    set conn=server.createobject("adodb.connection")
    conn.open"dsn=qikan"
    SQL="select * from laigaodengji"
    set rs=server.CreateObject("ADODB.Recordset")
    rs.Open sql,conn,3,3
    rs.addnew
    rs("zhongwentimu")=zhongwentimu
    rs("laigaoriqi")=laigaoriqi
    rs("yingwentimu")=yingwentimu
    rs("lanmu")=lanmu
    rs("keyword")=keyword
    rs("zuozhe")=zuozhe
    rs("jijinxiangmu")=jijinxiangmu
    rs("laigaodanwei")=laigaodanwei
    rs("lianxiren")=lianxiren
    rs("zhaiyao")=zhaiyao
    rs("FileContentType")=strFileContentType //此行出错,
    rs("FileContent").AppendChunk binFieldValue
    rs.update
    rs.close
    set rs=Nothing
    conn.Close
    set conn=Nothing
  • End if
  • binHTTPHeader=MIDB(binHTTPHeader,INSTRB( DataStart + 1, binHTTPHeader, divider ))
  • loop
    %>
  • <a href="index1.asp">返回</a>
  • 2006-04-30 22:54
    快速回复:写数据库出现乱码问题
    数据加载中...
     
       



    关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

    编程中国 版权所有,并保留所有权利。
    Powered by Discuz, Processed in 0.011980 second(s), 8 queries.
    Copyright©2004-2024, BCCN.NET, All Rights Reserved