ASP與MySQL操作中中文亂碼
發(fā)布時間: 瀏覽: 7849
困擾了我多天的ASP與MySQL操作中中文亂碼問題終于得到了解
決,真是很有成就感;多天以來,在探索使用ASP查詢以及寫入
MySQL數(shù)據(jù)庫中漢字的成功實現(xiàn),我花費了大量的時間,幾乎查看
了網(wǎng)絡上所有關(guān)于ASP結(jié)合MySQL的文字,但是盡管看的多,收效
卻甚微,原因在于,MySQL一般是與PHP結(jié)合使用,基本上很難找
到一個在windows系統(tǒng)下使用ASP操作MySQL的成功案例,更難找
到這方面的問題解決方案,所以,要想解決這一問題,只能從其他
的程序語言中探索其中的奧妙。大概越是高級的東西,越需要較高
的操作技能,所以要想掌握,必須要付出,并不斷的探索;只要有
一個堅定的求勝信念,沒有解決不了的問題�,F(xiàn)在我已成功解決了
這一問題,在此作一總結(jié),已供遇到這方面問題的網(wǎng)友參考,以免
少走彎路。
網(wǎng)絡上的不少文字都談到了出現(xiàn)中文亂碼時修改MySQL的my.ini
文件中的[mysql]
default-character-set=latin1
與[mysqld]
default-character-set=latin1
這兩處為default-character-set=gb2312(或gbk,utf8);這當然
沒錯,至少在數(shù)據(jù)庫中是肯定可以顯示漢字了,但是在頁面中用語
句查詢卻未必能成功,可能依然是亂碼。又又說在頁面的頁頭加上
<meta http-equiv="Content-Type"
content="text/html;charset=gb2312">;其實這也是無關(guān)緊
要的,就是加了大概不會又多少用。我也作過其他的探索,比如更
改Apache服務器的字符集、重裝ODBC驅(qū)動等等,所以的可能的解
決辦法都試了,最后才知道,也許解決問題的方法并不在此。
其實解決ASP與MySQL數(shù)據(jù)操作中中文亂碼問的關(guān)鍵在于數(shù)據(jù)連
接,我們只需要在數(shù)據(jù)連接中加入“OPTION=3;stmt=SET
NAMES GB2312”即可,但是位置與格式卻非常重要;也有不少網(wǎng)
友提到了這點,但基本都是在PHP中的編碼,在ASP中的完整格式
則應如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>ASP向MySQL數(shù)據(jù)庫中添加數(shù)據(jù)</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("無數(shù)據(jù).")
end if
rs.close
adodataconn.close
set adodataconn = nothing
set rsemaildata = nothing
%>
</body>
</html>
添加數(shù)據(jù)也應該如此,如:
<%
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數(shù)據(jù)操作中的中文亂
碼問題就可以成功的解決!
相關(guān)新聞
- win server2008 r2 配置Xlight.FTP.Server FTP服務器【親測可用】瀏覽:6217
- ASP與MySQL操作中中文亂碼瀏覽:7849
- 文件夾無法訪問,拒絕訪問瀏覽:8343
- 關(guān)于Windows2003服務器設(shè)置文件夾訪問權(quán)限瀏覽:9691
- 隱藏橫向滾動條 CSS隱藏橫向滾動條代碼瀏覽:12251