曾经解决过这样的问题,以下是我的一些解决办法
前,大多Asp个人博客程序是UT8编码的。如果在此程序加上其他gb2312编码的程序,大多会出现乱码。有人称这是所加入的程序编码不规范造成的。页首缺少这局
<%@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%>。至此问题彻底解决!
最好是把主站变成utf-8的,这个国际通用,只能这样解决 ,你总不能让网民们自己改编码吧。。。
强制浏览时用的编码