解决ASP中UTF-8与GB2312编码转换乱码


点击次数: 次 发布时间:2013-3-27

  现在blog程序一般都是utf-8编码的,要在网站里加入其它的程序的话,如果不是utf-8而是gb2312的话,在页面转换的时候很容易出现打开的页面时乱码,经过查找资料和测试,总结出现在最好的一个方法,先了解一下基础的代码:
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=437 %>美国/加拿大英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文
  Codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。出乱码的原因也就是网站要整合的时候模块编码不一样引起的。就像我的博客一样,整合的时候都会出这个问题,因为BLOG是Utf-8的,近来很多网友都在为这个问题咨询,我尝试了很多种方法。最方便的方法如下:
  不要转换任何模块网页的编码该utf-8的还是utf-8,该Gb22312的还是Gb2312,在Utf-8模块的包文件(如conn.ASP,但是要注意conn.asp必须是在第一行调用)最前面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
在GB2312模块的包文件最前面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>,其他编码的类推。
  如果你用的數據庫是MS SQL的時候簡體和繁體都要記得編碼用:Chinese_PRC_CI_AS
大家都知道gb2312是简体中文吧,我们今天说的是UTF-8编码,我们就将gb2312改成UTF-8吧,全部代码如下:
<%@Language="VBScript" CodePage="65001"%>
<meta http-equiv="Content-Type" Content="text/HTML; Charset=UTF-8">
<%Response.Write "第一次测试UTF-8页面"%>
最简单的办法可使用记事本来打开并保存UFT-8...
再执行看看,嗯,这次正常显示了吧……
结论:采用UTF-8编码,除了要将文件另存为UTF-8格式之外,还需要同时指定CodePage及Charset。
ASP + Access + FSO + UTF-8,中文乱码解决方案笔记
  有人说不要用FSO读写文件,换成ADODB.Stream,使用.Charset = "utf-8",就不会出现乱码了。但是我照样出现乱码,看来这也不是最好的办法。
powered by tianyv.net

我的解决办法是,加上这句:Session.CodePage="65001"(使用一次就OK了,后来(重启一遍)去掉也没出现乱码,怎么回事?)

总结:

1、所有文件采用utf-8保存;

2、ASP文件加上以下三行代码:

①、<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>,第一行

②、<%Session.CodePage="65001"%>,建议第二行

③、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,head区
第一步:修改 commond.asp 文件,将文件的前4行,也就是 '定义 Cookie,Application 域 前面的代码用以下代码替换:powered by tianyv.net
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
Response.Buffer = True
Server.ScriptTimeOut = 90
Session.CodePage=936
参考的是:
如果制作的网页脚本与WEB服务端的默认代码页不同,则必须指明代码页:
codepage=936 简体中文GBK
codepage=950 繁体中文BIG5
codepage=437 美国/加拿大英语
codepage=932 日文
codepage=949 韩文
codepage=866 俄文
codepage=65001 unicode UFT-8
第二步:把所有的
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
改成
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
再另存为ANSI
GB2312转换为UTF-8编码的方法
第一步:
修改 commond.asp 文件,将文件的前4行,也就是 '定义 Cookie,Application 域 前面的代码用以下代码替换:
程序代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Option Explicit
Response.Buffer=True
Session.CodePage=65001
Server.ScriptTimeOut = 90
然后修改 header.asp 和 admincp.asp 还有 attachment.asp 文件 找到:
程序代码:
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
修改为:
程序代码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
第二步:
将BLOG的所有ASP和JS文件,用记事本打开,然后另存为,编码本来是默认, 选择成UTF-8就可以了
作者天宇科技 - 解决ASP中UTF-8与GB2312编码转换乱码

本文地址:http://www.tianyv.net/News_Show_482_1.html   手机地址http://www.tianyv.net/Mobile/News_Show_482_1.html

版权所有 © 转载时必须以链接形式注明作者和原始出处!
相关文章
关于我们
关于我们
企业文化
最新资讯
核心服务
品牌形象
邢台网站建设
邢台网站优化
成功案例
品牌设计
公司成功案例
邢台网站优化
解决方案
邢台网络公司
邢台网站维护
邢台网络营销
招贤纳士
加入我们
学习发展
常见问题
联系我们
联系我们
我要留言
如何合作
首页
手机网站
FLASH版
旧版邢台网络公司
本站关键词邢台网站建设邢台网站制作邢台网站设计,交换链接QQ:830044 链接要求:pr>=3,百度快照三天内。