熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

解決asp中uft8和gb2312轉換亂碼問題

2013-11-13 10:44:57  來源: .NET編程 

  ASP程序在同一個站點中如果有UTF編碼的程序又有GB編碼的程序時在浏覽UTF編碼的頁面後再浏覽當前網站GB的頁面GB編碼的頁面就會出現亂碼

出現這樣的問題是當你浏覽UTF編碼的時候服務器默認用UTF的引擎來輸出html當你用再浏覽GB的頁面時它還是用UTF來輸出本應是GB編碼的頁面所以會亂碼

  為了這個問題煩了我一個早上終於的藍色理想上得到解決

  首先讓我們來了解一下Session對象提供了四個屬性
CodePage 讀/寫整型
定義用於在浏覽器中顯示頁內容的代碼頁(Code Page)代碼頁是字符集的數字值不同的語言和場所可能使用不同的代碼頁例如ANSI代碼頁 用於美國英語和大多數歐洲語言代碼頁用於日文字(這裡我們要用到的就是這個屬性)
LCID 讀/寫整型
定義發送給浏覽器的頁面地區標識(LCID)LCID是唯一地標識地區的一個國際標准縮寫例如定義當前地區的貨幣符號是LCID也可用於FormatCurrency等語句中只要其中有一個可選的LCID參數LCID也可在ASP處理指令<%…%>中設置並優先於會話的LCID屬性中的設置本章後面提供一個ASP處理指令的列表
SessionID 只讀長整型
返回這個會話的會話標識符創建會話時該標識符由服務器產生只在父Application對象的生存期內是唯一的因此當一個新的應用程序啟動時可重新使用
Timeout 讀/寫整型
為這個會話定義以分鐘為單位的超時周期如果用戶在超時周期內沒有進行刷新或請求一個網頁該會話結束在各網頁中根據需要可以修改缺省值是min在使用率高的站點上該時間應更短!

  下面給常用的幾個ANSI代碼頁
<%@ codepage=%>UTF
<%@ codepage=%>簡體中文
<%@ codepage=%>繁體中文
<%@ codepage= %>美國/加拿大英語
<%@ codepage= %>日文
<%@ codepage= %>韓文
<%@ codepage= %>俄文

  
現在就說說要解決問題的方法和使用
在網站程序中使用的共用文件connasp 中加入以下代碼

  Gb編碼頁面中加入
<%@LANGUAGE="VBSCRIPT" CODEPAGE=""%>
<%SessionCodePage=%>
最後加多個
<%Responsecharset = "BG"%>

  
utf編碼頁面中加入<%@LANGUAGE="VBSCRIPT" CODEPAGE=""%>
<%SessionCodePage=%>
<%Responsecharset = "utf"%>


From:http://tw.wingwit.com/Article/program/net/201311/14428.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.