青海網站建設、網絡推廣最好的公司--您身邊的網站建設專家,馬上拿起電話,聯系我們:0971-8235355   
黑龙江11选5预测网 黑龙江11选5预测网 |  公司簡介 |  網站建設 |  網絡推廣 |  空間租用 |  域名注冊 |  企業郵局 |  網絡安全 |  網站編程 |  客服中心 |  聯系我們 |  人才招聘
 
西寧威勢最新網站制做案例展示
Lastest Project
 
西寧網站建設  
當前位置為:黑龙江11选5预测网 >> 建站知識 >> 正文  
網站出現亂碼的解決方法

文章來源: 黑龙江11选5预测网     發布時間:2009-4-7    瀏覽次數:14737    tags:網站亂碼

網站顯示出現亂碼的情況,通常是由于編碼不統一引起,因此為了避免出現亂碼,就必須讓網頁編碼與輸入編碼格式統一,在做多國語言版時跟應注意這個問題。

做英文版如果用GB2312,雖然在簡體中文版的操作系統上正常,但是在繁體操作系統上就可能看到亂碼現象,因此制作多國語言最好用utf-8格式。

打開新建一個ASP頁面,相信玩ASP的朋友都會留意到,許多下載的源碼里,頁面最上方一般都有一句:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>前面的language應該不用多說了,vbscript就是ASP默認的腳本語言,其實完全可以不用寫,寫了好像還會影響頁面執行效率,在這里我們先不討論這個問題. 后面的codepage就是關鍵了,目的就是告訴瀏覽器,此頁面是何種編碼,936代表是簡體中文,而950代表繁體中文,65001就是我們今天說的 UTF-8編碼了.我們將936改成65001,整句如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
再加上輸出幾個中文字看看能不能正確顯示吧.
<%
Response.Write "第一次測試UTF-8頁面"
%>
OK,直接點擊"保存",執行這個頁面看看,如果不出意外,大家可能看到顯示出的是 "一尾UTF-8頁" 這幾個字,中文有亂碼的現象,什么原因呢?
OK,請大家再點擊最上面的 "文件" 菜單,選擇"另存為",最下面一行有個編碼,默認應該是ANSI的,請大家點下拉框,選擇UTF-8,再點保存,再執行試試看,如果不出意外,亂得更厲害了,呵呵,暈了吧.別急,想想原因,因為我們做的頁面是HTML返回的,以前我們寫HTML時,看到body前面,也就是head里都有一句meta,應該是這樣的:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
也就是指定頁面以gb2312編碼返回結果,一定要寫在有返回結果輸出的前面.大家都知道gb2312是簡體中文吧,我們今天說的是UTF-8編碼,我們就將gb2312改成UTF-8吧,全部代碼如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
Response.Write "第一次測試UTF-8頁面"
%>
再看,這次正常了。

得出結論:采用UTF-8編碼,除了要將文件另存為UTF-8格式之外,還需要同時指定codepage及charset.

但有了這些還不夠,在制作過程中還會出現一些亂碼的問題。為了。保證asp葉面一定不會出現亂碼的代碼應該是這樣的:<%@ CODEPAGE=65001 %>
<% Response.CodePage=65001%>
<% Response.Charset="UTF-8" %>

建議:可以建立公共文件code.asp,或則直接寫到習慣的conn.asp中。

ASP程序在同一個站點中,如果出現UTF-8編碼的程序,又有GB2312的程序,在瀏覽完UTF-8編碼的頁面后,再瀏覽GB2312的頁面,GB2312編碼的頁面就會出現亂碼.

出現這樣的問題,可能是:當你瀏覽UTF-8編碼的時候,服務器默認用UTF-8的引擎來輸出html,當你用再瀏覽GB2312的頁面時,它還是用UTF-8來輸出本應是GB2312編碼的頁面.所以會亂碼.

如果要將他們轉為同一種編碼可能會很痛苦.

還有一種解決方法是:不用作任何轉換,保持原來的編碼不變.在Utf-8程序的第一行加上:

CODE:  [Copy to clipboard]
<%Session.CodePage=65001%>


在GB2312程序的第一行加上

CODE:  [Copy to clipboard]
<%Session.CodePage=936%>



    這樣就可以了.當然如果你的所有程序都在第一行include 一個文件的話,把上面的代碼放在被include 的文件第一行就馬上解決問題了.
Session.CodePage是指定服務器用哪種編輯來輸出.有了它的聲明,服務器就不會用默認的編碼引擎來輸出了.


上一篇:西寧網站建設,便宜沒好貨
下一篇:多語言網站設計需要注意的問題
評論列表
正在加載評論……
  
評論   
呢  稱:
驗證碼: 若看不清請點擊更換!
內  容:
 
 
  在線洽談咨詢:
點擊這里,在線洽談   點擊這里,在線洽談   點擊這里,在線洽談
與我交談  與我交談 與我交談
乘車路線    匯款方式   加盟合作  人才招聘  
公司地址:青海省西寧市西關大街73號(三二四部隊招行所四樓)     青ICP備13000578號-1 公安機關備案號:63010402000123    
QQ:147399120    mail:[email protected]    電話: 13897410341    郵編:810000
© Copyright( 2008-2009) www.ymbxx.icu All Rights Reserved    版權所有:西寧威勢電子信息服務有限公司 未經書面制授權,請勿隨意轉載!
業務:青海網站制做、青海網站建設、青海網頁設計、西寧網站制做、西寧網站建設、青海域名注冊、青海網絡推廣、青海網站推廣、青??占渥庥?/a>、黑龙江11选5预测网、黑龙江11选5预测网、網絡安全