JSP get提交中文乱码解决方法

来源:互联网 发布:迁都南京 知乎 编辑:程序博客网 时间:2024/06/13 22:52
解决思路:
1、在页面对乱码汉字进行编码;
2、在服务端进行解码;

页面编码具体实现
页面编码有两种方式:js方式,java方式。
js方式:
var custNameCn=$('#qy_custNameCn').val();
 custNameCn=encodeURIComponent(custNameCn);//默认utf-8
  window.open("${ctx}/module1/CustomerCheck/findPage.action?custName="+custNameCn,900,400);
java方式:
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里"," utf-8 ")%>">点击这里</a>

服务端解码具体实现
解码方式有两种,修改tomcat的server.xml配置,程序解码。
修改tomcat的server.xml配置
 <Connector 
         port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000" 
               disableUploadTimeout="true"
<!--在里边加上这个参数-->
URIEncoding="
 utf-8 "
     />
注意这里配置的字符集要和页面的编码字符集一致
程序解码
custName=new String(custName.getBytes("ISO-8859-1"),"utf-8").trim();
我们注意到使用了new String(key.getBytes("ISO-8859-1", "utf-8"))把ISO-8859-1字符集形式转换成UTF-8形式。
为什么呢?因为iso-8859-1是Java中网络传输使用的标准字符集,req.getParameter("key")得到的还是ISO-8859-1字符集,所以要转换一下才不会是乱码。
0 0
原创粉丝点击