jsp中文亂碼問題的簡單解決方法
簡單解決jsp中文亂碼問題
初學(xué)jsp制作一個(gè)簡單的響應(yīng)頁面
具體代碼如下:
<form action="test.jsp">
username : <input type="text" name="username" />
<br />
<input type="submit">
</form>
Hello <%=request.getParameter("username")%>
保存為test.jsp文件,啟動(dòng)tomcat訪問,出現(xiàn)下圖:

在框內(nèi)輸入:vae 出現(xiàn)下圖:

可是"username"看起來實(shí)在不舒服,決定將它改成"用戶名"
<form action="test.jsp">
用戶名 : <input type="text" name="username" />
<br />
<input type="submit">
</form>
Hello <%=request.getParameter("username")%>
這時(shí)問題出現(xiàn):

本該出現(xiàn)"用戶名"的地方出現(xiàn)了一串亂碼:
所謂響應(yīng)中的亂碼,就是顯示頁面上的亂碼,因?yàn)轫撁鏀?shù)據(jù)是從服務(wù)器一端放入響應(yīng)(response)中,然后發(fā)送給瀏覽器,如果響應(yīng)中的數(shù)據(jù)無法被正常解析,就會(huì)出現(xiàn)亂碼問題。
為什么英文就沒有問題呢?因?yàn)樵趇so-8859-1,gb2312, utf-8以及任意一種編碼格式下,英文編碼格式都是一樣的,每個(gè)字符占8位,而中文就麻煩了,在gb2312下一個(gè)中文占16位,兩字節(jié),而在utf-8下一個(gè)中文要占24位,三字節(jié)。
瀏覽器在不知道確定編碼方式的情況下,就會(huì)把這些字符從中間截?cái)?,再顯示的時(shí)候就亂掉了。
所以,想要解決亂碼問題,就是要告訴瀏覽器我們到底使用了什么樣的編碼方式。
而windows下,文件默認(rèn)的編碼格式是gb2312
解決方法如下:
(1)在http的響應(yīng)(response)中添加編碼信息
<%@ page contentType="text/html; charset=gb2312"%>
這段要放在jsp頁面的第一行,用來指定響應(yīng)的類型和編碼格式,contentType為text/html就是html內(nèi)容,charset表示編碼為gb2312。這樣瀏覽器就可以從響應(yīng)中獲得編碼格式了。
(2)在html中指定編碼格式
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>title</title>
</head>
meta部分用來指定當(dāng)前html的編碼格式,注意這一段要放在head標(biāo)簽中,并且放到head標(biāo)簽的最前面,如果不是最前面ie下可能會(huì)出現(xiàn)問題,尤其是在title中有中文的情況下。
上述兩段檢驗(yàn)是為了保證jsp網(wǎng)頁輸出的是中文
改后代碼如下:
<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>title</title>
</head>
<body>
<form action="test.jsp">
用戶名 : <input type="text" name="username" />
<br />
<input type="submit">
</form>
</body>
</html>
再次運(yùn)行:

以上就是jsp中文亂碼問題的簡單解決方法的詳細(xì)內(nèi)容,更多關(guān)于解決jsp中文亂碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JSP中js傳遞和解析URL參數(shù)以及中文轉(zhuǎn)碼和解碼問題
有關(guān)js傳遞和解析URL參數(shù)以及中文轉(zhuǎn)碼和解碼問題,都是在js中很常見的,下面通過示例簡單為大家介紹下,感興趣的朋友可以參考下2013-10-10
動(dòng)態(tài)JSP頁生成靜態(tài)HTML的方法
這篇文章主要介紹了動(dòng)態(tài)JSP頁生成靜態(tài)HTML的方法,以實(shí)例形式較為詳細(xì)的分析了JSP生成靜態(tài)HTML頁面的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
CORBA對(duì)象生命周期之實(shí)現(xiàn)和內(nèi)存管理
CORBA對(duì)象生命周期之實(shí)現(xiàn)和內(nèi)存管理...2006-10-10
jsp讀取數(shù)據(jù)庫實(shí)現(xiàn)分頁技術(shù)簡析
這篇文章介紹的是用javabean和jsp頁面來實(shí)現(xiàn)數(shù)據(jù)的分頁顯示,例子中所使用的數(shù)據(jù)庫是Mysql,需要的朋友可以了解下2012-11-11
JSP Servelet 數(shù)據(jù)源連接池的配置
在高版本的Tomcat中有的可以省略第2步,有的則不能,如果不能則會(huì)引發(fā)異常,找不到驅(qū)動(dòng)類2009-07-07

