作家
登录

utf-8 网页不显示+utf-8网页乱码的通用解决方法

作者: 来源:www.28hudong.com 2013-03-30 08:25:56 阅读 我要评论

在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 由此造成某些含有中文UTF-8编码的页面产生空白输出。 如果使用的是Mozilla、Mozilla 浏览器、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。 由于UTF-8为3个字节表示一个汉字,而普通的GB2312或BIG5是两个。页面输出时,由于上述原因,使浏览器解析、输出<title></title>的内容时,如果在</title>前有奇数个全角字符时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的<结合成一个乱码字,导致IE无法读完<title>部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。 因此最简单的解决办法是在网页文件的<head></head>标签中一定要把字符定义 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 放在<title></title>之前。 ------------------------------------- ===================== UTF-8网页乱码问题解决: <%@codepage="65001"%> < http-equiv="Content-Type" content="text/html; charset=UTF-8"> 一个也不能少 另外,文件要存为utf-8格式的 还有,程序不能出错,嘿嘿 要是有错误的程序,那么刚打开的时候正常的,刷新了就乱码了 这里说的出错时不会使整个页面不显示的出错。 1,<%@codepage="65001"%> 2,< http-equiv="Content-Type" content="text/html; charset=UTF-8"> 3,Session.CodePage = 65001 4,文件存成 UTF-8 我来说说吧,这个我比较有经验,呵呵 2,< http-equiv="Content-Type" content="text/html; charset=UTF-8"> ======================================= 这条比较重要,也比较常见,这个决定了浏览者浏览器选择哪一种内码来访问你的网页。 4,文件存成 UTF-8 如果你用中文输入法,网页里面出现中文,这一条就比较重要了.因为我们用普通输入法输入的文字不是UTF格式的,所以要重新保存成 UTF-8格式。 所有从数据库里读的中文字都是乱码 ===================== 1,<%@codepage="65001"%> 出现这种事情,请加上这句话,其实数据库跟内码没什么关系,关键是ASP程序用什么内码去传输你的数据,加上这句话,就强制ASP用UTF来传输数据。 尝试在<%@codepage="65001"%>下加一行: <%Session.CodePage=65001%> utf-8 网页不显示+utf-8网页乱码的问题一般就可以解决了

  推荐阅读

  asp之让Session永不过期

又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你最大可以session.timeout=1440,1441都是不可以有,呵呵。本人测试环境:win2003+IIS6.0+ASP3.>>>详细阅读


本文标题:utf-8 网页不显示+utf-8网页乱码的通用解决方法

地址:http://www.17bianji.com/kaifa2/ASP/32151.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)