如何解决 jsp 中url传值的中文乱码问题

时间:2021-01-21 20:12:45

第一步:在tomcat 的server.xml文件中设置web服务器端口配制中加下面两句:
useBodyEncodingForURI="true"  
URIEncoding="UTF-8"


第二步:JSP页面编码用UTF-8(也可以用“gb2312",第一步与解码要一至)传值时编码一下:
以传递的参数为strPar为例, 在传递数据前将strPar进行编码java.net.URLEncoder.encode(strPar,"UTF-8");


第二步:解码 在获取数据服务器端Action中得到的strPar进行解码java.net.URLDecoder.decode(strPar,"UTF-8");
本人测试时传入action中可以不解码也正常。


举例:


Url传值:
<a href="myPage.jsp?strPar=<%=java.net.URLEncoder.encode("中文参数值","UTF-8")%>">点击这里</a>


//下面是解码
String cnStr=java.net.URLDecoder.decode(strPar,"GB2312");