首页(网页)乱码问题解决(uft-8与gb2312)

2009-07-29 10:30:11 by 【6yang】, 83 visits, 收藏 | 返回

首页(网页)乱码问题解决(uft-8与gb2312)

    ASP网站中,需要调用数据库里的数据(此处用ACCESS)。网页中编码是UFT-8,我数据库中默认的编码是GB2312,调出来在前台网页上显示时,数据库里出来的文字都是乱码,原因很简单,就是网页中的编码不统一。

    先了解一下UFT-8和GB2312这两种编码。

    UTF-8是对Unicode的一种编码格式,Unicode是对所有国家语言的字符集。

    GB 2312或GB 2312-80是一个简体中文字符集的中国国家标准 .很多中文网页的编码都是GB2312。

    我是这么解决的,在每个网页代码状态下,第一句代码前加一句代码:<%@ codepage="65001"%>,基本算解决问题。不知道为何,有时刷新一下,又有乱码。让人费解。不知道算不算解决问题呢。

 ------------------------------------------------------------

以上是本人经验,以下是别人的经验。供借鉴。

-------------------------------------------------------------

    经过查找资料和测试,总结出现在最好的一个方法,先了解一下基础的代码:

<%@ codepage=65001%>UTF-8

<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=437 %>美国/加拿大英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文

Codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。出乱码的原因也就是网站要整合的时候模块编码不一样引起的。

最方便的方法如下:

不要转换任何模块网页的编码该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%>,其他编码的类推。

如果你用的数据库是MS SQL的时候简体和繁体都要记得编码用:Chinese_PRC_CI_AS

分享到:
share

    图片原图

    loading

    loading