今天在用utf-8編碼用在新的網(wǎng)站上,不想問(wèn)題還真多,所以找了些文章,帖子,看了看,等下有用的就貼下面了。
今天,我開(kāi)始把 CODEPAGE="936" 改成 CODEPAGE="65001"
把charset=gb2312改成 charset=utf-8
可是還是亂碼,只要是腳本用的地方還是亂碼,現(xiàn)在終于找到問(wèn)題了,就是當(dāng)腳本輸出時(shí)候,要以u(píng)tf-8編碼輸出。
就是要加一句<% Response.Charset = "utf-8" %>
①首先當(dāng)然是頁(yè)面本身用utf-8編碼,在DW新建頁(yè)時(shí)默認(rèn)編碼定為“Unicode(UTF-8)”
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
' ②CODEPAGE="65001" 告訴服務(wù)器頁(yè)面使用UTF-8編碼的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
' ③charset=utf-8告訴瀏覽器頁(yè)面使用UTF-8編碼的
</head>
<body>
<% Response.Charset = "utf-8" %>
' ④服務(wù)器輸出編碼為utf-8
</body>
</html>
暈,事情還沒(méi)有結(jié)束
剛開(kāi)心,問(wèn)題出來(lái)了,刷新后又變成亂碼,或者瀏覽其他的gb2312的頁(yè)面回來(lái)又亂碼了。值得又去google了一下,呵呵,還是找到答案了
看看下面的文字,就知道了,所有在后來(lái)我加了這個(gè),程序頂端
<%Session.CodePage=65001%>
<%@ codepage=936%>簡(jiǎn)體中文
<%@ codepage=950%>繁體中文
<%@ codepage=65001%>UTF-8
codepage指定了IIS按什么編碼讀取傳遞過(guò)來(lái)的串串(表單提交,地址欄傳遞等)。
出亂碼的原因也就是網(wǎng)站要整合的時(shí)候模塊編碼不一樣引起的。
不要轉(zhuǎn)換任何模塊網(wǎng)頁(yè)的編碼該utf-8的還是utf-8,該Gb22312的還是Gb2312
將GB2312模塊的conn.asp文件中加入了以下這段代碼
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
一切OK!
同樣在在Utf-8模塊的包文件(如conn.asp,但是要注意conn.asp必須是在第一行調(diào)用)最前面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
這幾天寫(xiě)東西時(shí)總是遇到亂碼,郁悶,以前從來(lái)沒(méi)研究過(guò)編碼,只是拿過(guò)語(yǔ)句直接用!下午經(jīng)過(guò)研究后我得出以下結(jié)論!
首先,選擇編碼:你必須按照你頁(yè)面的內(nèi)容選擇編碼,不過(guò)建議前臺(tái)后臺(tái)都使用utf-8編碼,方法是在conn.asp中加入:
引用
<%@ CODEPAGE=65001 %>
<% Response.CodePage=65001%>
<% Response.Charset="UTF-8" %>
就可以解決亂碼隱患,或者在每個(gè)頁(yè)面一開(kāi)始加入:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
如果有小的頁(yè)面,直接ASP服務(wù)端聲明<%Response.Charset="utf-8"%>,這樣基本可以解決亂碼問(wèn)題!
其次,如果某個(gè)頁(yè)面不用utf-8編碼,直接加上:<%Response.Charset="GB2312"%>
還有個(gè)問(wèn)題,就是某個(gè)頁(yè)面是utf-8編碼,而另外一個(gè)頁(yè)面是GB2312編碼,如何實(shí)現(xiàn)跳轉(zhuǎn)而沒(méi)有亂碼。方法是:
給GB2312頁(yè)面設(shè)置:Session.CodePage=936;或者直接用response.redirect實(shí)現(xiàn)跳轉(zhuǎn).
另外,基本常識(shí):
<%@ codepage=936%>簡(jiǎn)體中文
<%@ codepage=950%>繁體中文
<%@ codepage=65001%>UTF-8