<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
加入這句或在UT8程序的句尾加入<%Session.CodePage=936%>
就可以解決這個問題。經過反復實踐,我不敢茍同這種觀點。
以“夢溪苑”博客程序為例:首先在gb2312編碼的程序的頁首加
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>,
沒有解決問題,時而正常,時而亂碼。在博客程序文件bot.asp文件末加
<%Session.CodePage=936%>,這時打開gb2312編碼的程序正常了。問題已徹底解決了嗎?遠遠沒有。如果妳的服務器是xp或2003,進入後臺,亂碼來了。這是因為“夢溪苑”博客後臺程序也是UT8編碼,前面引用了<%Session.CodePage=936%>自然會亂碼。如果將以上全部程序傳到壹臺win2000 sp4的服務器,妳會驚異的發現,運行完全正常。怎麽會這樣?我猜測可能是win2000與xp以上系統的iis緩存字長不同造成的。這壹點在msdn的壹篇文章中得到佐證。
徹底解決方法:在UT8程序的頁首加
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>,在gb2312編碼的程序的頁首加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>。
具體到“夢溪苑”博客程序:不要在bot.asp頁末加
<%Session.CodePage=936%>,而是在blog_conn.asp頁首加<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>,在其他程序的頁首加
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>。至此問題徹底解決!