用utf-8編碼的網站,問題還真多,開始把 CODEPAGE="936" 改成 CODEPAGE="65001" 把charset=gb2312改成 charset=utf-8可是還是亂碼,只要是指令碼用的地方還是亂碼,現在終於找到問題了,就是當指令碼輸出時候,要以utf-8編碼輸出。就是要加一句
程式碼
<% Response.Charset = "utf-8" %>
程式碼
①首先當然是頁面本身用utf-8編碼,在DW建立頁時預設編碼定為“Unicode(UTF-8)”
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
②CODEPAGE="65001" 告訴伺服器頁面使用UTF-8編碼的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
③charset=utf-8告訴瀏覽器頁面使用UTF-8編碼的
</head>
<body>
<% Response.Charset = "utf-8" %>
④伺服器輸出編碼為utf-8
</body>
</html>
本以為這樣就ok了,重新整理後又變成亂碼,或者瀏覽其他的gb2312的頁面回來又亂碼了。只得又去Google了一下,呵呵,還是找到答案了
看看下面的文字,就知道了,所有在後來我加了這個,程式頂端
程式碼
<%Session.CodePage=65001%>
程式碼
<%@ codepage=936%>簡體中文
<%@ codepage=950%>繁體中文
<%@ codepage=65001%>UTF-8
codepage指定了IIS按什麼編碼讀取傳遞過來的串串(表單提交,地址欄傳遞等)。
出亂碼的原因也就是網站要整合的時候模組編碼不一樣引起的。
不要轉換任何模組網頁的編碼該utf-8的還是utf-8,該GB2312的還是GB2312
於是我將GB2312模組的conn.asp檔案中加入了以下這段代碼
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
一切OK!
同樣在在Utf-8模組的包檔案(如conn.asp,但是要注意conn.asp必須是在第一行調用)最前面加上
程式碼
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>