ASP UTF-8乱码问题的解决方法.txt36母爱是一缕阳光,让你的心灵即便在寒冷的冬天也能感受到温暖如春;母爱是一泓清泉,让你的情感即使蒙上岁月的风尘仍然清澈澄净。ASP UTF-8乱码问题的解决方法这个是网页编码的问题。中文一般采用的是gb2312这样的话显示中文基本上不会出现乱码。但是有时候我们用的是一种国际上通用的utf-8格式。如果utf-8格式不是很了解的话是容易出现乱码的问题,下面我来讲述一下这一问题的解决方法。
以下内容仅供参考,如有出入或者问题请留言或联系我,我尽量修改完整
---------------------------------------------
有许多朋友问了我,也包括我自己以前在编写程序的时候出现了这个问题,为什么在ASP里已经指定session.CodePage=65001了还会出现乱码的问题,在这里我简单的解释下这个问题的由来和解决方法,以免更多的朋友不喜欢UTF-8,我自己原先也非常的讨厌UTF-8的,但是到后来发现UTF-8也蛮好的,而且代码字体或者更好看!
至于UTF-8是什么这种概念性的东西我就不多讲了,如果你们还不知道那么只要打开baidu或者是google乃至任何一个搜索引擎输入UTF-8就会出来一大堆关于UTF-8的相关资料,自己慢慢的去品味它的含义!N年前的浏览器服务器这些老套的问题我也省略了,这里主要讲讲当前技术所出现的问题!现在就中国这个市场来看浏览器虽然还是IE6、IE7是老大,但是也出现了N多的浏览器,而每个浏览器都有不同的字库,所
支持的编码形式也不同,故经常出现乱码的问题,但是可以知道的是UTF-8编码是国际通用的编码,如果你的网站想让全世界的浏览器都能够浏览,那UTF-8是必须的选择。对于制作网页的工具也有很多,本人是喜欢用DW,当然用其他的工具也一样,主要是看自己喜欢。
好了,言归正传,现在让我为大家举一个ASP的例子,我是用DW工具来说,当然那些记事本,FG,EP等等也都是一样的道理,代码再哪里都不会变的!
现在新建一张ASP页面,相信略懂ASP的朋友们都知道页面最开始,最上方肯定都会有一句:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
这里面的东西应该都不需要再解释了吧!LANGUAGE,顾名思意,就是ASP所用的执行语言是VBS,而CODEPAGE可以看成是一个参数,它有不同的参数值来表示不同的编码,比如:936就表示国家标准的编码GB2312(简体中文),而950表示的是繁体中文,今天我这里讲的主要是65001,UTF-8编码。
好了,把936改成65001吧,这样子就变成了:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
然后随便输入一些字符,为了检测最好是中英文的都输入一些
<%
Response.Write("This is my first UTF-8 编码的网页!")
<%
然后保存用浏览器测试看,如果不出意外的话会出现乱码,具体的显示我这里就不列出来了好了,进入下一步:点击最上面的 "文件" 菜单,选择"另存为",最下面一行有个编码,默认应该是ANSI的,点下拉框,选择UTF-8,再点保存,再用浏览器测试看看,如果不出意外,应该乱得更厉害了,HOHO,晕倒了吧,当时我是强晕,别着急慢慢来,还有步骤呢!页面里面应该会有这么一句话:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
这里面的GB2312把它改成UTF-8的,然后测试页面的详细代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
一串好看的乱码Response.Write("This is my first UTF-8 编码的网页")
%>
现在再试试看,如果不出意外的话应该没有问题了,能够正常显示了。
其实不需要这么麻烦的,在每张页面都需要用的页面里加相关代码,如本人的习惯是连接数据库的那张页面(conn.asp)基本上每张都要调用的所以就在conn.asp这张页面的最上方加上如下代码(UTF-8为例):
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%session.CodePage=65001%>
<%Response.Charset="utf-8"%>
然后所有页面都包含conn.asp这个文件就行了,这样子保证整个站点都不会出现乱码了,,,
下面从网络上收集了一些国内主流编码GB2312和UTF-8的区别,给大家共享:
使用UTF-8编码唯一的好处是,国外的用户如果使用Windows XP英文版,浏览UTF-8编码的任何网页,无论是中文、还是日文、韩文、阿拉伯文,都可以正常显示,UTF-8是世界通用的语言编码,UTF-8的
推广要归功于Google的应用,以及Blog开发者。而如果用Windows XP 英文版的IE6.0浏览gb2312语言编码的网页,则会提示是否安装语言包。因此,可能会失去很多的国外浏览者。
使用gb2312编码的好处是,因为程序产生的网页文本使用ANSI编码格式,会比UTF-8文本编码节省一些体积,访问速度会稍微快一点点,大约是30:38的比例,也就是30K的ANSI 编码,转为UTF-8编码是38K,当然,这个比例并不准确,是会随Unicode字符集区域的不同而变化的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论