飞网设计:山西互联网营销策划推广中心
电话咨询 133-1343-5212
山西做网站营销策划公司--太原飞网设计

当前位置:建站知识
网站可以同时使用UTF-8与GB2312两种编码吗?
时间:2023/4/3 16:24:40   浏览量:1184

同一网站UTF-8与GB2312两种编码页面避免乱码的方法

同一个网站有两种编码,怎么办?我有一个英语培训网站,大部分已经完工了,是用gb2312的,现在音标显示不正确,不可能再重新用utf编码,因为这样改的话,会出现很多乱码的,所以只能单独将音标的页面改为utf。结果在从主站转向音标的页面时就会出现乱码,

在网上搜索了一些方法,一般的没有太大效果。总结了一些出现乱码的原因有如下几种可能:

1、GB2312页面没有在头部设置charset=GB2312

2、如果设置了charset=GB2312 ,尝试在ASP源码头部加上

复制内容到剪贴板 程序代码

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

    其中 936为GB2312 ; 65001为UTF-8

3、因为程序没有设置读取数据库时所使用的编码类型,所以打开数据库时就会直接读取上一次所使用的编码类型。如先打开UTF-8页面,数据库按照UTF-8读取数据库内容。而在此时您再打开GB2312页面时,因为没有设置服务器按照刚刚使用过的编码类型即UTF-8读取数据库。这就造成打开的页面内容除数据库内容外正常显示,所有数据库内容显示乱码的原因的。

    而我网站上所出现的问题也就是第三种,因为一般比较成熟的程序代码都会设置前两项,而第三项是大部分程序设计人员所忽略的。

解决方法也很简单只要在乱码的那个程序源代码设置一下就行了:

UTF-8设置方法(data/data.mdb为数据库地址)

复制内容到剪贴板 程序代码

<%
response.codepage=65001
response.charset="UTF-8"
set conn = server.CreateObject("adodb.connection")
on error resume next
conn.Open "driver={microsoft access driver (*.mdb)}; dbq=" & server.MapPath("data/data.mdb")
%>


GB2312设置方法(data/data.mdb为数据库地址)

复制内容到剪贴板 程序代码

<%
response.codepage=936
response.charset="GB2312"
set conn = server.CreateObject("adodb.connection")
on error resume next
conn.Open "driver={microsoft access driver (*.mdb)}; dbq=" & server.MapPath("data/data.mdb")
%>

医学职称论文发表网
山西孔子文化研究会网站
文化石模具厂网站推广
服装类企业网站营销推广
公司地址:山西省太原市长风西街62号
QQ:94589848   电话:133-1343-5212
  晋ICP备08001781号