在學(xué)習(xí)Java Web開發(fā)的學(xué)習(xí)中特別是在JSP的開發(fā)中盐固,中文亂碼問題是一個(gè)避不開的問題荒给。有許多原因會(huì)導(dǎo)致中文亂碼,中文亂碼的情況就有許多種刁卜,不同種類的中文亂碼的解決方式也是不一樣的志电。下面將針對不同的中文亂碼情況進(jìn)行簡答介紹,并且給出其解決辦法蛔趴。
1.Eclipse中JSP文件的中文亂碼
由于不同計(jì)算機(jī)的編輯器設(shè)置的JSP編碼格式不同挑辆,JSP文件在不同計(jì)算機(jī)上運(yùn)行時(shí)其可能出現(xiàn)亂碼。以Eclipse為例孝情,如下圖在打開JSP文件時(shí)鱼蝉,發(fā)現(xiàn)JSP文件亂碼。
針對上面的問題箫荡,直接在Eclipse的菜單欄修改JSP的默認(rèn)編碼格式即可魁亦。點(diǎn)擊Eclipse的窗口(Windows)選項(xiàng)選擇首選項(xiàng)(Preferences),然后按圖1-1修改即可。
2.直顯網(wǎng)頁頁面的中文亂碼
該種情況是在網(wǎng)絡(luò)上直接輸出中文字符串就出現(xiàn)了中文亂碼的情況羔挡。圖1-2是JSP文件
圖1-2的結(jié)果如下圖1-3所示:
該問題就可以通過設(shè)置頁面編碼格式的方法進(jìn)行解決洁奈。
在page頁面設(shè)置方法
<%@ page language="java"import="java.util.*"contentType="text/html; charset=GB2312"%>
3.URL傳遞參數(shù)中文亂碼
在URL傳遞參數(shù)過程中也會(huì)出現(xiàn)中文亂碼,例如:
圖1-4是通過單連接向自身傳遞參數(shù)绞灼,該程序的運(yùn)行效果如圖1-5所示:
對于URL傳遞中文參數(shù)問題僅僅轉(zhuǎn)換字符串或者設(shè)置頁面編碼格式是不能解決問題的利术,需要修改服務(wù)器的配置文件。本文以Tomcat為例低矮,打開Tomcat的配置文件server.xml如圖1-6所示:
4.表單提交中文亂碼
在表單中常常采用request.getParameter()來獲得表單數(shù)據(jù)氯哮,該種方式也會(huì)出現(xiàn)中文亂碼。如圖1-7與圖1-8分別是表單的請求與響應(yīng)頁面商佛。通過圖1-9發(fā)現(xiàn)表單數(shù)據(jù)出現(xiàn)亂碼喉钢。
對于該問題在圖1-8的相應(yīng)代碼中添加以下文字如圖1-10,就能完美解決良姆!