JSP中文亂碼解決方案


學習JSP的過程中總會碰到中文亂碼問題,有的是post方式提交沒問題,用get方式提交有亂碼,還有的是部署到tomcat中沒問題,在Eclipse中啟動tomcat,發現用get方式提交有亂碼。產生亂碼的根源是tomcat、java所用的編碼方式不同。所以要解決中文亂碼問題,首先要保證各個頁面所用的編碼方式一致,不管是html頁面還是jsp頁面,都指定為同一種編碼方式,如GB18030。

(1)html頁面

<meta charset="GB18030">

(2)jsp頁面

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

可以在Eclipse里設置html頁面及jsp頁面的編碼方式統一為GB18030

 

接下來,就是指定tomat所用的編碼方式了。打開tomcat目錄下的conf目錄下的server.xml文件,修改

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>該行為:

<Connector port="8080" protocol="HTTP/1.1" URIEncoding="GB18030"
connectionTimeout="20000"
redirectPort="8443" />

注意紅色加粗部分是新增的。改好后,需要重啟tomcat生效。

為了防止在Eclipse中啟動tomcat,用get方式提交有亂碼。需要對Eclipse中配置的tomcat的配置文件做同樣的修改。

最后,在get或post接收頁面寫上:

request.setCharacterEncoding("GB18030");

通過上面的步驟可以較好的解決JSP中文亂碼問題。

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com