管理杂谈OA答疑ERP答疑教程搜索

asp乱码解决方案


今天在用utf-8编码用在新的网站上,不想问题还真多,所以找了些文章,帖子,看了看,等下有用的就贴下面了。
今天,我开始把 codepage="936" 改成 codepage="65001"
把charset=gb2312改成 charset=utf-8
可是还是乱码,只要是脚本用的地方还是乱码,现在终于找到问题了,就是当脚本输出时候,要以utf-8编码输出。
就是要加一句<% response.charset = "utf-8" %>

①首先当然是页面本身用utf-8编码,在dw新建页时默认编码定为“unicode(utf-8)”
<%@language="vbscript" codepage="65001" %>
' ②codepage="65001" 告诉服务器页面使用utf-8编码的



' ③charset=utf-8告诉浏览器页面使用utf-8编码的


<% response.charset = "utf-8" %>
' ④服务器输出编码为utf-8



晕,事情还没有结束
刚开心,问题出来了,刷新后又变成乱码,或者浏览其他的gb2312的页面回来又乱码了。值得又去google了一下,呵呵,还是找到答案了

看看下面的文字,就知道了,所有在后来我加了这个,程序顶端
<%session.codepage=65001%>

<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=65001%>utf-8

codepage指定了iis按什么编码读取传递过来的串串(表单提交,地址栏传递等)。
出乱码的原因也就是网站要整合的时候模块编码不一样引起的。
不要转换任何模块网页的编码该utf-8的还是utf-8,该gb22312的还是gb2312

将gb2312模块的conn.asp文件中加入了以下这段代码
<%@language="vbscript" codepage="936"%>
<%session.codepage=936%>
一切ok!

同样在在utf-8模块的包文件(如conn.asp,但是要注意conn.asp必须是在第一行调用)最前面加上
<%@language="vbscript" codepage="65001"%>
<%session.codepage=65001%>


这几天写东西时总是遇到乱码,郁闷,以前从来没研究过编码,只是拿过语句直接用!下午经过研究后我得出以下结论!

首先,选择编码:你必须按照你页面的内容选择编码,不过建议前台后台都使用utf-8编码,方法是在conn.asp中加入:

引用 <%@ codepage=65001 %>
<% response.codepage=65001%>
<% response.charset="utf-8" %>

就可以解决乱码隐患,或者在每个页面一开始加入:

如果有小的页面,直接asp服务端声明<%response.charset="utf-8"%>,这样基本可以解决乱码问题!

其次,如果某个页面不用utf-8编码,直接加上:<%response.charset="gb2312"%>

还有个问题,就是某个页面是utf-8编码,而另外一个页面是gb2312编码,如何实现跳转而没有乱码。方法是:
给gb2312页面设置:session.codepage=936;或者直接用response.redirect实现跳转.

另外,基本常识:
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=65001%>utf-8


更多精彩文章浏览...
点击右上角图标分享到朋友圈
官方网站:http://www.clicksun.cn
咨询热线:400-186-1886
服务邮箱:service@clicksun.cn