資源描述:
《對(duì)jsp頁(yè)面?zhèn)髦抵形膩y碼的簡(jiǎn)單解決方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、對(duì)JSP頁(yè)面?zhèn)髦抵形膩y碼的簡(jiǎn)單解決方法>>教育資源庫(kù)源代碼,a.jsp往b.jsp傳值:a.jsp頁(yè)面內(nèi)容:<%pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%><formaction="b.jsp">name:<inputtype=textname=name><inputtype=submit></form>b.jsp頁(yè)面內(nèi)容:<%pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>
2、<%Stringname=request.getParameter("name");%><body><%=name%></body>現(xiàn)象:中文亂碼,比如“??????”解決方法如下:方法一:1.在b.jsp中把pageEncoding="GB2312"改為pageEncoding="ISO8859-1"雖然這樣b.jsp頁(yè)面顯示的內(nèi)容還是亂碼,但是不是那種“??????”的亂碼,而是一些特殊字符2.然后在瀏覽器中查看菜單中修改成GB2312的編碼,這時(shí)亂碼就顯示中文了。3.但是這種方法是不可行的。方法二:1.在b.jsp中把Stringna
3、me=request.getParameter("name");修改為Stringname=neeter("name").getBytes("ISO-8859-1"),"GB2312");2.這時(shí)再在頁(yè)面上顯示,則就是中文了。方法三:1.有人說(shuō)修改get/post的傳值方式,但是這是有前提的,如果只是把get方式修改成post方式,頁(yè)面結(jié)果還是亂碼!2.前提你必須配置了過(guò)濾器,若果你只是配置了過(guò)濾器,則傳值方式必須是:post方式才不是亂碼,如果是get方式照樣是亂碼!3.過(guò)濾器的配置,我想大家都能有,我就不說(shuō)了方法四:1.有人說(shuō)配置tomcat的配置文件serv
4、er.xml里這句:<ConnectorURIEncoding="GB2312"port="8080"maxHttpHeaderSize="8192"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"connectionTimeout="20000"disableUploadTimeout="true"/>加上這句:URIEncoding="GB2312"2.雖然可以但是有前提的,若果
5、你過(guò)濾器沒(méi)有配置,則只是配置了server.xml文件,這樣只有在表單是get傳值時(shí)候才可以!當(dāng)是post方式時(shí),照樣是亂碼!*這時(shí)我們就可以看出在tomcat5中的post與get傳值方式是不一樣的**有人要問(wèn)有沒(méi)有一種方法讓傳值使用get方式或post方式都好用呢,下面就是我推薦的方法五*方法五:1.其實(shí)很簡(jiǎn)單,就是同時(shí)實(shí)現(xiàn)方法三又實(shí)現(xiàn)方法四!2.就是先配置過(guò)濾器,又配置server.xml文件,都設(shè)置成GB2312的編碼3.這樣無(wú)論是post還是get方式的表單傳值,中文都不會(huì)是亂碼!>>>>這篇文章來(lái)自..,。