注册 登录
编程论坛 ASP技术论坛

ASP中的问题

ahmzm 发布于 2008-11-30 17:29, 1162 次点击
我用ASP做网站,在向后台数据库写数据时,写进去的却是乱码,,我实在不知道何解。。。。。。超级郁闷!!
请高手指点一下,在下感激不尽。。。
17 回复
#2
谁与争疯2008-11-30 17:31
那你得提供你现在的资料给我们看看啊。不然怎么解?
#3
ahmzm2008-11-30 17:46
下面是向数据库写数据的代码:
==========================================
<!--#include file="admin/database/dbcon.asp"-->
<%
    Function Str_filter(InString)   
          NewStr=Replace(InString,"'","''")
          NewStr=Replace(NewStr,"<","&lt")
          NewStr=Replace(NewStr,">","&gt")
          NewStr=Replace(NewStr,"chr(60)","&lt;")
          NewStr=Replace(NewStr,"chr(37)","&gt;")
          NewStr=Replace(NewStr,"""","&quot")
          NewStr=Replace(NewStr,";",";;")
          NewStr=Replace(NewStr,"--","-")
          NewStr=Replace(NewStr,"/*"," ")
          NewStr=Replace(NewStr,"%"," ")
        NewStr=Replace(NewStr,"chr(13)","<br/>")
          Str_filter=NewStr
    End Function
%>
<%
    dim lyname,lyqq,lywebsite,lycontent,lyicon
    lyname=Str_filter(request.Form("lyname"))
    lyqq=Str_filter(request.Form("lyqq"))
    if not isnumeric(lyqq) then
        response.Write("<script language='javascript'>alert('您的QQ号中存在非法字符!');history.back();</script>")
    end if
    if lyqq="" then lyqq=383355421
    lywebsite=Str_filter(request.Form("lywebsite"))
    if lywebsite="" then lywebsite="暂无主页"
    lycontent=Str_filter(request.Form("lycontent"))
    lyicon=request.Form("icon")
    set rs=server.CreateObject("adodb.recordset")
    rs.open "select * from ly",con,1,3,1
    rs.addnew
    rs("lyname")=lyname
    rs("lyqq")=lyqq
    rs("lywebsite")=lywebsite
    rs("lycontent")=lycontent
    rs("lyicon")=lyicon
    rs.update

    rs.close
    set rs=nothing
    con.close
    set con=nothing
    response.Redirect("showmessage.asp")
%>
#4
谁与争疯2008-11-30 17:59
你在把数据写入数据库之前,输出接收到的这几个,看一下接收到的是什么数值。
    lyname
    lyqq
    lywebsite
    lycontent
    lyicon
#5
ahmzm2008-11-30 18:03
输出的除了数字,其他的都是乱码。。
#6
ahmzm2008-11-30 18:04
字母没有出现乱码,所有的汉字都是乱码了。。。。。
#7
谁与争疯2008-11-30 18:10
那么你这个网页head中的用的是什么字体?
#8
ahmzm2008-11-30 18:14
下面是表单页面的头部:
====================================
<head>
<meta http-equiv="Content-Type" content="text/html; charset=uft-8">
<title>请你留言</title>
<link href="css.css" type="text/css" rel="stylesheet" />
</head>
#9
ahmzm2008-11-30 18:16
所有页面都用的是宋体,12号字
#10
谁与争疯2008-11-30 18:25
charset=gb2312
改成这个呢
#11
ahmzm2008-11-30 18:26
我试过了,改成gb2312后不仅写入数据库的是乱码,连网页上的静态文字都成乱码了。
#12
yms1232008-11-30 18:35
在网页最开头加
<%Response.ChrSet="gb2312"%>
#13
ahmzm2008-11-30 18:42
加了<%Response.CharSet="gb2312"%>后
效果还是一样的,乱码。。。。。。
换成uft-8也没效果。。。。。
#14
谁与争疯2008-11-30 18:47
如果项目方便的话,不如你把部份文件打包传上来看一看吧?
#15
ahmzm2008-11-30 18:51
项目不能上传。
我还是再研究研究吧,谢谢了。
#16
madpbpl2008-11-30 21:52
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Session.CodePage=65001
Response.Charset="UTF-8" %>
网页头部加入以上代码
#17
awke0022008-12-01 10:45
关注中、、、
#18
lishizhong_8992008-12-01 10:58
楼上说的对
以下是引用谁与争疯在2008-11-30 18:25的发言:

charset=gb2312
改成这个呢

应该用这个的!
1