這段日子為了寫天智機(jī)構(gòu)的網(wǎng)站,研究萬博企業(yè)網(wǎng)站管理系統(tǒng),在測(cè)試時(shí)經(jīng)常會(huì)出現(xiàn)亂碼的問題。開始我是按常見的重啟IIS來解決問題,次數(shù)多了,覺得很煩。判斷不可能是簡(jiǎn)單的重啟IIS問題,肯定還有其它原因。于是,工作開始了。。。 以前asp程序都沒碰到過這種問題,因?yàn)橹形囊话悴捎玫氖莋b2312,這樣的話顯示中文基本上不會(huì)出現(xiàn)亂碼。而萬博是用utf-8代碼,猜測(cè)問題應(yīng)該出在utf-8代碼這里。查閱資料、檢查代碼。果然,utf-8是問題根源所在。 utf-8的好處這里不多說了,但既然這么多人開始重視,自然有它的道理。網(wǎng)上很多人主張改成把編碼改成gb2312,實(shí)在是未能解決根本問題。 好了,閑話少說,直接貼出解決方案。 大部分utf-8代碼的“head”文件中,前面都有這樣幾句: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 重要的就是上面標(biāo)注紅色的幾句??纯磁cgb2312有什么不同,就能分析出utf-8的特點(diǎn)了。根據(jù)分析的結(jié)果,我們加注一條代碼,應(yīng)該就能解決問題: <% Response.CodePage=65001%> 果然,亂碼的頁面問題解決了。^_^ 由此推理,在所有“head”文件中加上這句應(yīng)該可以解決所有問題,也可以理解為在所有需要標(biāo)注編碼的地方都加上下面四句: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 我想這應(yīng)該就是“utf-8”編碼出現(xiàn)亂碼問題的解決之道。 |
聯(lián)系客服