您当前的位置: 首页 > 网站编程 > ASP教程 > ASP中UTF-8与GB2312编码转换乱码问题的解决方法

ASP中UTF-8与GB2312编码转换乱码问题的解决方法

作者:guanchaofeng 来源:本站整理 发布时间: 2009-11-18 22:34 点击:
现在blog程序一般都是utf-8编码的,要在网站里加入其它的程序的话,如果不是utf-8而是gb2312的话,在页面转换的时候很容易出现打开的页面时乱码,经过查找资料和测试,总结出现在最好的一个方法,先了解一下基础的代码: %@codepage=65001%UTF-8 %@codepage=

ASP中UTF-8与GB2312编码转换乱码问题的解决方法

  现在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%>,其他编码的类推。
  
  如果你用的數據庫是MSSQL的時候簡體和繁體都要記得編碼用:Chinese_PRC_CI_AS
  
  大家都知道gb2312是简体中文吧,我们今天说的是UTF-8编码,我们就将gb2312改成UTF-8吧,全部代码如下:
  
  <%@Language="VBScript"CodePage="65001"%>
  
  <metahttp-equiv="Content-Type"Content="text/html;Charset=UTF-8">
  
  <%Response.Write"第一次测试UTF-8页面"%>
  
  最后一条:保存文件时请选编码为UTF-8如图:

图片
  
  最简单的办法可使用记事本来打开并保存UFT-8...
  
  再执行看看,嗯,这次正常显示了吧……
  
  结论:采用UTF-8编码,除了要将文件另存为UTF-8格式之外,还需要同时指定CodePage及Charset。
  
  ASP+ACCESS+FSO+UTF-8,中文乱码解决方案笔记
  
  有人说不要用FSO读写文件,换成ADODB.Stream,使用.Charset="utf-8",就不会出现乱码了。但是我照样出现乱码,看来这也不是最好的办法。
  
  poweredby25175.net
  
  我的解决办法是,加上这句:Session.CodePage="65001"(使用一次就OK了,后来(重启一遍)去掉也没出现乱码,怎么回事?)
  
  总结:
  
  1、所有文件采用utf-8保存;
  
  2、ASP文件加上以下三行代码:
  
  ①、<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>,第一行
  
  ②、<%Session.CodePage="65001"%>,建议第二行
  
  ③、<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>,head区
  
  第一步:修改commond.asp文件,将文件的前4行,也就是'定义Cookie,Application域前面的代码用以下代码替换:poweredby25175.net
  
  <%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%>
  
  <%
  
  OptionExplicit
  
  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=65001unicodeUFT-8
  
  第二步:把所有的
  
  <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
  
  改成
  
  <metahttp-equiv="Content-Type"content="text/html;charset=GB2312"/>
  
  再另存为ANSI
  
  GB2312转换为UTF-8编码的方法
  
  第一步:
  
  修改commond.asp文件,将文件的前4行,也就是'定义Cookie,Application域前面的代码用以下代码替换:
  
  程序代码:
  
  <%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>
  
  <%
  
  OptionExplicit
  
  Response.Buffer=True
  
  Session.CodePage=65001
  
  Server.ScriptTimeOut=90
  
  然后修改header.asp和admincp.asp还有attachment.asp文件找到:
  
  程序代码:
  
  <metahttp-equiv="Content-Type"content="text/html;charset=GB2312"/>
  
  修改为:
  
  程序代码:
  
  <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
  
  第二步:
  
  将BLOG的所有ASP和JS文件,用记事本打开,然后另存为,编码本来是默认,选择成UTF-8就可以了 .

分享到:
本文"ASP中UTF-8与GB2312编码转换乱码问题的解决方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4