UTF-8和GBK乱码方法谈 为了更好国际化,用UTF8建站是必然的,起码不会出现不同操作系统出现的乱码。 为什么在程序里指定了CodePage为65001还经常出现中文显示乱码?才子在这里将这个问题详细解释一下,以免很多朋友再走弯路,甚至排斥UTF-8。 如果你还不知道UTF-8是什么东东,那才子建议你先去搜索一下UTF-8的相关资料吧。 UTF-8网页编码之所以被越来越多的人接受甚至喜欢,肯定是有道理的。在WEB2.0盛行的今天,在大谈多浏览器兼容的同时,不得不想到字符网页编码不同所造成的乱码现象同样需要得到很好的处理…… 在N年以前,IE6以下的所有版本,只要没有安装相应的中文字库,访问相关的页面都是会乱码的,例如:我是IE5 (Windows2000默认)的版本,在没有安装IE繁体字库的情况下,访问任何繁体页面的网站都是会乱码的,当然前提是该页面采用了BIG5的Charset。而UTF-8作为一种国际网页编码就能很好的处理该问题,只要将页面存为UTF-8网页编码格式,再在页面上将CodePage及Charset全部定义为UTF-8,就可以在任何客户端浏览器中显示出完全正确的内容,完全不会乱码。
好了,这里以程序页面为例,以一个实例来看具体操作吧: 打开新建一个程序页面,相信玩程序的朋友都会留意到,许多下载的源代码 www.020el.com里,页面上方一般都有一句: <%@Language="VBScript" CodePage="936"%> 前面的language应该不用多说了,vbscript就是程序默认的脚本语言,其实完全可以不用写,写了好像还会影响页面执行效率,在这里我们先不讨论这个问题。后面的CodePage就是关键了,目的就是告诉浏览器,此页面是何种网页编码,936代表是简体中文,而950代表繁体中文,65001就是我们今天说的UTF-8网页编码了。我们将936改成65001,整句如下: <%@Language="VBScript" CodePage="65001"%> 再加上输出几个中文字看看能不能正确显示吧: <%Response.Write "次测试UTF-8页面"%> OK,直接点击"保存",执行这个页面看看,如果不出意外,大家可能看到显示出的是“一尾UTF-8页”这几个字,中文有乱码的现象,什么原因呢? OK,请大家再点击上面的“文件”菜单,选择“另存为”,下面一行有个网页编码,默认应该是"ANSI"的,请大家点下拉框,选择"UTF-8",再点“保存”,再执行试试看,如果不出意外,乱得更厉害了,呵呵,晕了吧。别急,想想原因,因为我们做的页面是HTML返回的,以前我们写HTML时,看到body前面,也就是head里都有一句meta,应该是这样的: <meta http-equiv="Content-Type" Content="text/html; Charset=gb2312"> 也就是指定页面以gb2312网页编码返回结果,一定要写在有返回结果输出的前面。大家都知道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页面"%> 后一条:保存文件时请选网页编码为UTF-8 如图: 简单的办法可使用记事本来打开并保存UFT-8... 再执行看看,嗯,这次正常显示了吧…… 结论:采用UTF-8网页编码,除了要将文件另存为UTF-8格式之外,还需要同时指定CodePage及Charset。 有人说不要用FSO读写文件,换成ADODB.Stream,使用.Charset = "utf-8",就不会出现乱码了。但是我照样出现乱码,看来这也不是好的办法。
我的解决办法是,加上这句:Session.CodePage="65001"(使用一次就OK了,后来(重启一遍)去掉也没出现乱码,怎么回事?) 总结: 1、所有文件采用utf-8保存; 2、程序文件加上以下三行代码: ①、<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>,行 ②、<%Session.CodePage="65001"%>,建议第二行 ③、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,head区 步:修改 commond.程序 文件,将文件的前4行,也就是 '定义 Cookie,Application 域 前面的代码用以下代码替换:powered by 25175.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.程序 文件,将文件的前4行,也就是 '定义 Cookie,Application 域 前面的代码用以下代码替换:
程序代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit Response.Buffer=True Session.CodePage=65001 Server.ScriptTimeOut = 90
然后修改 header.程序 和 admincp.程序 还有 attachment.程序 文件 找到:
修改为:
第二步: 将BLOG的所有程序和JS文件,用记事本打开,然后另存为,网页编码本来是默认, 选择成UTF-8就可以了 还可以用一些批量转换格式的软件,效率会高点
公司介绍服务优势资质荣誉支付方式联系我们
外贸、外语、英文公司、企业、办公游戏、动漫、软件EDM、邮件、营销轻工、日化、化工酒店、餐饮、食品更多案例分类
域名注册主机空间外贸企业邮箱画册设计搜索优化微信网站
建站套餐网站策划建站流程网站维护样板选择
响应式网站商城网站通用网站
公司动态行业动态常见问题解决方案建站知识设计知识SEO优化
免费电话:400-666-5425 电话:020-28903657 邮箱:service@020el.com 地址:广州市番禺区市桥光明南路163号置业华逸大厦313室
Copyright © 2009-2016 广州壹策网络科技有限公司 All Rights Reserved 备案号:粤ICP备13012683号-8
UTF-8和GBK乱码方法谈
UTF-8和GBK乱码方法谈
为了更好国际化,用UTF8建站是必然的,起码不会出现不同操作系统出现的乱码。
为什么在程序里指定了CodePage为65001还经常出现中文显示乱码?才子在这里将这个问题详细解释一下,以免很多朋友再走弯路,甚至排斥UTF-8。
如果你还不知道UTF-8是什么东东,那才子建议你先去搜索一下UTF-8的相关资料吧。
UTF-8网页编码之所以被越来越多的人接受甚至喜欢,肯定是有道理的。在WEB2.0盛行的今天,在大谈多浏览器兼容的同时,不得不想到字符网页编码不同所造成的乱码现象同样需要得到很好的处理……
在N年以前,IE6以下的所有版本,只要没有安装相应的中文字库,访问相关的页面都是会乱码的,例如:我是IE5 (Windows2000默认)的版本,在没有安装IE繁体字库的情况下,访问任何繁体页面的网站都是会乱码的,当然前提是该页面采用了BIG5的Charset。而UTF-8作为一种国际网页编码就能很好的处理该问题,只要将页面存为UTF-8网页编码格式,再在页面上将CodePage及Charset全部定义为UTF-8,就可以在任何客户端浏览器中显示出完全正确的内容,完全不会乱码。
好了,这里以程序页面为例,以一个实例来看具体操作吧:
打开新建一个程序页面,相信玩程序的朋友都会留意到,许多下载的源代码 www.020el.com里,页面上方一般都有一句:
<%@Language="VBScript" CodePage="936"%>
前面的language应该不用多说了,vbscript就是程序默认的脚本语言,其实完全可以不用写,写了好像还会影响页面执行效率,在这里我们先不讨论这个问题。后面的CodePage就是关键了,目的就是告诉浏览器,此页面是何种网页编码,936代表是简体中文,而950代表繁体中文,65001就是我们今天说的UTF-8网页编码了。我们将936改成65001,整句如下:
<%@Language="VBScript" CodePage="65001"%>
再加上输出几个中文字看看能不能正确显示吧:
<%Response.Write "次测试UTF-8页面"%>
OK,直接点击"保存",执行这个页面看看,如果不出意外,大家可能看到显示出的是“一尾UTF-8页”这几个字,中文有乱码的现象,什么原因呢?
OK,请大家再点击上面的“文件”菜单,选择“另存为”,下面一行有个网页编码,默认应该是"ANSI"的,请大家点下拉框,选择"UTF-8",再点“保存”,再执行试试看,如果不出意外,乱得更厉害了,呵呵,晕了吧。别急,想想原因,因为我们做的页面是HTML返回的,以前我们写HTML时,看到body前面,也就是head里都有一句meta,应该是这样的:
<meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">
也就是指定页面以gb2312网页编码返回结果,一定要写在有返回结果输出的前面。大家都知道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页面"%>
后一条:保存文件时请选网页编码为UTF-8 如图:
简单的办法可使用记事本来打开并保存UFT-8...
再执行看看,嗯,这次正常显示了吧……
结论:采用UTF-8网页编码,除了要将文件另存为UTF-8格式之外,还需要同时指定CodePage及Charset。
有人说不要用FSO读写文件,换成ADODB.Stream,使用.Charset = "utf-8",就不会出现乱码了。但是我照样出现乱码,看来这也不是好的办法。
我的解决办法是,加上这句:Session.CodePage="65001"(使用一次就OK了,后来(重启一遍)去掉也没出现乱码,怎么回事?)
总结:
1、所有文件采用utf-8保存;
2、程序文件加上以下三行代码:
①、<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>,行
②、<%Session.CodePage="65001"%>,建议第二行
③、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,head区
步:修改 commond.程序 文件,将文件的前4行,也就是 '定义 Cookie,Application 域 前面的代码用以下代码替换:powered by 25175.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.程序 文件,将文件的前4行,也就是 '定义 Cookie,Application 域 前面的代码用以下代码替换:
程序代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Option Explicit
Response.Buffer=True
Session.CodePage=65001
Server.ScriptTimeOut = 90
然后修改 header.程序 和 admincp.程序 还有 attachment.程序 文件 找到:
程序代码:
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
修改为:
程序代码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
第二步:
将BLOG的所有程序和JS文件,用记事本打开,然后另存为,网页编码本来是默认, 选择成UTF-8就可以了
还可以用一些批量转换格式的软件,效率会高点