JSP中文亂碼的解決方案大全

JSP中文亂碼的解決方案大全

ID:36417279

大?。?2.00 KB

頁數(shù):8頁

時間:2019-05-10

JSP中文亂碼的解決方案大全_第1頁
JSP中文亂碼的解決方案大全_第2頁
JSP中文亂碼的解決方案大全_第3頁
JSP中文亂碼的解決方案大全_第4頁
JSP中文亂碼的解決方案大全_第5頁
資源描述:

《JSP中文亂碼的解決方案大全》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、如何解決JSP中文亂碼的問題一、Java中文問題的由來Java的內(nèi)核和class文件是基于unicode的,這使Java程序具有良好的跨平臺性,但也帶來了一些中文亂碼問題的麻煩。原因主要有兩方面,Java和JSP文件本身編譯時產(chǎn)生的亂碼問題和Java程序于其他媒介交互產(chǎn)生的亂碼問題。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字節(jié)流的,如果Java和JSP編譯成class文件過程中,使用的編碼方式與源文件的編碼不一致,就會出現(xiàn)亂碼?;谶@種亂碼,建議在Java文件中盡量不要寫中文(注釋部分不參與編譯,寫中文沒關(guān)系),如果必須寫的話,

2、盡量手動帶參數(shù)-ecodingGBK或-ecodinggb2312編譯;對于JSP,在文件頭加上<%@pagecontentType=text/html;charset=GBK%>或<%@pagecontentType=text/html;charset=gb2312%>基本上就能解決這類亂碼問題。二、常見的解決方式1,最基本的亂碼問題。這個亂碼問題是最簡單的亂碼問題。一般新會出現(xiàn)。就是頁面編碼不一致導(dǎo)致的亂碼。<%@pagelanguage=javapageEncoding=UTF-8%><%@pagecontentType=text/html;charset=iso8859-

3、1%>中文問題?我是個好人三個地方的編碼。第一個地方的編碼格式為jsp文件的存儲格式。Ecljpse會根據(jù)這個編碼格式保存文件。并編譯jsp文件,包括里面的漢字。第二處編碼為解碼格式。因為存為UTF-8的文件被解碼為iso8859-1,這樣如有中文肯定出亂碼。也就是必須一致。而第二處所在的這一行,可以沒有。缺省也是使用iso8859-1的編碼

4、格式。所以如果沒有這一行的話,“我是個好人”也會出現(xiàn)亂碼。必須一致才可以。?第三處編碼為控制瀏覽器的解碼方式。如果前面的解碼都一致并且無誤的話,這個編碼格式?jīng)]有關(guān)系。有的網(wǎng)頁出現(xiàn)亂碼,就是因為瀏覽器不能確定使用哪種編碼格式。因為頁面有時候會嵌入頁面,導(dǎo)致瀏覽器混淆了編碼格式。出現(xiàn)了亂碼。2,表單使用Post方式提交后接收到的亂碼問題這個問題也是一個常見的問題。這個亂碼也是tomcat的內(nèi)部編碼格式iso8859-1在搗亂,也就是說post提交時,如果沒有設(shè)置提交的編碼格式,則會以iso8859-1方式進(jìn)行提交,接受的jsp卻以utf-8的方式接受。導(dǎo)致亂碼。既然這樣的原因,下面有

5、幾種解決方式,并比較。A,接受參數(shù)時進(jìn)行編碼轉(zhuǎn)換Stringstr=newString(request.getParameter(something).getBytes(ISO-8859-1),utf-8);這樣的話,每一個參數(shù)都必須這樣進(jìn)行轉(zhuǎn)碼。很麻煩。但確實可以拿到漢字。B,在請求頁面上開始處,執(zhí)行請求的編碼代碼,request.setCharacterEncoding(UTF-8),把提交內(nèi)容的字符集設(shè)為UTF-8。這樣的話,接受此參數(shù)的頁面就不必在轉(zhuǎn)碼了。直接使用Stringstr=request.getParameter(something);即可得到漢字參數(shù)。但每頁都

6、需要執(zhí)行這句話。這個方法也就對post提交的有效果,對于get提交和上傳文件時的enctype=multipart/form-data是無效的。稍后下面單獨(dú)對這個兩個的亂碼情況再進(jìn)行說明。C,為了避免每頁都要寫request.setCharacterEncoding(UTF-8),建議使用過濾器對所有jsp?進(jìn)行編碼處理。如果不想在每個文件里都寫這樣兩句話,更簡潔的辦法是使用Servlet規(guī)范中的過慮器指定編碼,過濾器的在web.xml中的典型配置和主要代碼如下:web.xml:CharacterEncodingFilter

7、r-name>net.vschool.web.CharacterEncodingFilterencodingGBKCharacterEncodingFilter

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。