低一度

顶部横幅

同一Asp站点,UTF-8与GB2312两种编码的干扰问题

2009-8-15 - diyidu - 网页设计 - Views

同一Asp站点,UTF-8与GB2312两种编码的干扰问题

这是以前用PJ-Blog时写的一篇旧日志,由于换程序的缘故,很想有个新开始,所以一直不敢炒冷饭……今天遇上一个朋友突然问起这个问题,觉得可能还真有点价值,故重贴出来。希望对大家有点帮助!

为了丰富网站内容,我曾经写过一个在线电影收看系统和一个百度音乐小偷采集(编码都是:GB2312),但由于我使用的博客的源程序采用的字符集是UTF-8编码,结果出现了异常状况:当我登录博客后台以后,再跳转到我的影视和音乐程序浏览时,这两个程序就相应出现了乱码!怎么回事呢?

其实,通过转换我的博客或其他两个程序的编码,使其达成统一就可以解决这个问题,但是我觉得这样做太麻烦了。于是,我在网上搜索了一些相关方面的技巧,总算工夫不负有心人,让我研究出了解决办法,这里发出来与大家共享。

先了解一点基本的东西:

<%@ codepage=65001%>UTF-8
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=437 %>美式英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文

上面这段代码中,codepage指定了IIS按什么编码来读取传递过来的串串(表单提交,地址栏传递等)。为什么会出现乱码呢?还是以UTF-8和GB2312为例:当你浏览用UTF-8编码书写的网站程序时,服务器就默认用UTF-8的引擎来输出html,而当你再接着使用同一窗口,跳转浏览用GB2312编码书写的网站程序时,服务器就还是默认用UTF-8来输出本应是GB2312编码的html,所以产生了乱码。这个问题,应该如何解决呢?我所采用的最简便的方法就是:

1.在UTF-8编码书写的网站程序包里找出包文件,(如conn.asp,但是要注意conn.asp必须是在第一行调用)在最上面加上下面这段代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>

2.在GB2312编码书写的网站程序包里找出包文件,(如conn.asp,但是要注意conn.asp必须是在第一行调用)在最上面加上下面这段代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>

说明:“Session.CodePage”指定的是服务器用哪种编码来输出,有了它的声明,服务器就不会用默认的编码引擎来输出了。OK,快试试吧。

关键词 // Asp编码 UTF-8 GB2312 编码干扰
出处:低一度,链接:http://www.diyidu.cn/post/code_gr.html

上一篇:09’最新photoshop渐变库 下一篇:提升站点PageRank值必读

随机推荐

to "同一Asp站点,UTF-8与GB2312两种编码的干扰问题"

  • 爱好者博客
    #1 爱好者博客 回复该留言 2010-1-29 10:36:33
    桶哥,我是看不懂哈,等你的主题光大了,我跟着占点友情链接的便宜。恩,也就这么点心愿了。
    diyidu 于 2010-1-29 10:50:28 回复
    呵呵,其实蛮好理解的。
  • 老实人博客
    #2 老实人博客 回复该留言 2010-9-25 22:50:38
    原来那个65001之类的东西,就是这样来的。我折腾插件,还以为是随意搞上去的序列号呢~

Add comment

验证码