今天在用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编码的 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> ' ③charset=utf-8告诉浏览器页面使用UTF-8编码的 </head> <body> <% Response.Charset = "utf-8" %> ' ④服务器输出编码为utf-8 </body> </html>
晕,事情还没有结束 刚开心,问题出来了,刷新后又变成乱码,或者浏览其他的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%>
|