Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 数据库 > Mysql > 正文

解决ASP连接MySQL出现中文乱码的问题

时间:2014-06-17 16:30 来源:网络整理 作者:51ou.com 阅读:

困扰了我多天的ASP与MySQL操作中中文乱码问题终于得到了解 决,真是很有成就感;多天以来,在探索使用ASP查询以及写入MySQL数据库中汉字的成功实现,我花费了大量的时间,几乎查看了网络上所有关于ASP结合MySQL的文字,但是尽管看的多,收效却甚微,原因在于,MySQL一般是与PHP结合使用,基本上很难找到一个在windows系统下使用ASP操作MySQL的成功案例,更难找到这方面的问题解决方案,所以,要想解决这一问题,只能从其他的程序语言中探索其中的奥妙。大概越是高级的东西,越需要较高的操作技能,所以要想掌握,必须要付出,并不断的探索;只要有一个坚定的求胜信念,没有解决不了的问题。现在我已成功解决了这一问题,在此作一总结,已供遇到这方面问题的网友参考,以免少走弯路。

网络上的不少文字都谈到了出现中文乱码时修改MySQL的my.ini文件中的[mysql]

default-character-set=latin1

与[mysqld]

default-character-set=latin1

这两处为default-character-set=gb2312(或gbk,utf8);这当然没错,至少在数据库中是肯定可以显示汉字了,但是在页面中用语句查询却未必能成功,可能依然是乱码。又又说在页面的页头加上<meta http-uiv="Content-Type"content="text/html;charset=gb2312">;其实这也是无关紧要的,就是加了大概不会又多少用。我也作过其他的探索,比如更改Apache服务器的字符集、重装ODBC驱动等等,所以的可能的解决办法都试了,最后才知道,也许解决问题的方法并不在此。

   其实解决ASP与MySQL数据操作中中文乱码问的关键在于数据连接,我们只需要在数据连接中加入“OPTION=3;stmt=SETNAMES GB2312”即可,但是位置与格式却非常重要;也有不少网友提到了这点,但基本都是在PHP中的编码,在ASP中的完整格式则应如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>ASP向MySQL数据库中添加数据</title>
</head>
<%
strconnection="driver={mysql odbc 3.51 driver};database=gaorui;server=localhost;uid=root;password=luo;OPTION=3;stmt=SET NAMES GB2312"
set adodataconn = server.createobject("adodb.connection")
adodataconn.open strconnection strquery = "select * from user"
set rs = adodataconn.execute(strquery)
if not rs.bof then
%>
<body>
<table>
<tr>
<td><b>姓名</b></td>
<td><b>密码</b></td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
else
response.write("无数据.")
end if
rs.close
adodataconn.close
set adodataconn = nothing
set rsemaildata = nothing
%>
</body>
</html>
添加数据也应该如此,如:
<%
username=request.form("username")
password=request.form("password")
strconnection="driver={mysql odbc 3.51 driver};database=gaorui;server=localhost;uid=root;password=luo;OPTION=3;stmt=SET NAMES GB2312"
set conn = server.createobject("adodb.connection")
conn.open strconnection set rs=server.CreateObject("adodb.recordset")
sql="select * from user"
rs.open sql,conn,1,3
rs.addnew
rs("username")=username
rs("password")=password
rs.update
rs.close
response.write "<script language=javascript>alert('添加成功!');window.location.href='write.html';</script>"
response.End
%>

   在运用了这种解决方案之后,ASP与MySQL数据操作中的中文乱码问题就可以成功的解决!

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《解决ASP连接MySQL出现中文乱码的问题》技术文章,《解决ASP连接MySQL出现中文乱码的问题》详细使用和说明,有时《解决ASP连接MySQL出现中文乱码的问题》可能不完善、敬请谅解!如果《解决ASP连接MySQL出现中文乱码的问题》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片