这篇文章是从所有博文中随机抽取的, 无聊时来试试手气, 没准儿有好玩儿的发现. 您还可以试着 多抽几次.
在打开LBS并进入文章内容页,或登陆等这样的操作后,再进入同一站点下非LBS页面,会发现其静态部文字,和通过ASP运行后输出的动态文字分别出现两种 编码,GB2312和UTF-8。除非该页和LBS同时使用GB2312编码。重启阅览器后再阅览该非LBS页面,一切正常,但再进入LBS并打开文章页 等,BUG又出现了。(如果您遇上过,我一说就明白。)
分析:
1. 我把LBS改成GB2312的,再阅览其它GB2312页没问题,UTF-8页面则出乱码,但只要LBS是UTF-8的,不管其它页是GB2312还是UTF-8都会出问题。
2. 重启阅览器后BUG消失,再打开LBS并运行其中网页BUG又出现,这很像Session的特征。
3. 运行LBS再运行同一站点下的PJblog,没有BUG。
看来这是GB2312和UTF-8两种编码之间切换不完全导致的, 具体原因为明, 但分别把下现两段编码加到两种不同文件的ASP头上, 一切都正常了.
加到UTF-8文件:
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Response.Charset = "UTF-8" %>
<%
Response.Buffer=true;
Session.CodePage=65001;
Session.Timeout=30;
Server.ScriptTimeOut = 90
%>
GB2312文件:
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% Response.Charset = "GB2312" %>
<%
Response.Buffer=true;
Session.CodePage=936;
Session.Timeout=30;
Server.ScriptTimeOut = 90
%>
最关键的是加入了中间那一行指定Session的Code。
我是通过比较法来查出问题和找出解决办法的。至于此BUG的实质原因并不很清楚。
2006-12-13 3:39:10 Views: Comments:0
您已随机阅读过 1 篇文章, 还有 279 篇文章可供随机抽取.