通过超链接及其提供的参数来实现分页查询功能时出现提交中文后servlet获取的值是??乱码
2017-12-08 19:32
666 查看
通过超链接及其提供的参数来实现分页查询功能时出现提交中文后servlet获取的值是??乱码的解决方法
示例:
<li title="下一页">
<a href="${pageContext.request.contextPath}/product?method=searchProducts&pageNumber=${pb.pageNumber+1 }&spdesc=${spdesc}" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>//spdesc参数就是中文
一、出现的原因分析:
1.提交form表单时使用的时GET 方法提交(tomcat,默认,GET,ISO-8859-1,不是UTF-8等支持中文的编码方式);
2.提交form表单时忘记写提交方法了(method="post");
3.在JSP页面已经设置了支持中文的编码方式,同时也使用了过滤器来统一编码,结果还是出现了??这样的乱码。
二、解决方法
其中1、2的问题还好解决,就是问题3的解决方法要麻烦些。问题3的解决方法如下:
打开tomcat的配置文件:server.xml【tomcat的所在的目录:如,D:\Java\apache-tomcat-8.5.23\conf\server.xml】,进行如下配置:在Connector标签添加URIEncoding="UTF-8"和 useBodyEncodingForURI="true",效果如图:
问题3出现的具体原因是:超链接的提交方式为Get,而Get方式提交的编码方式不是支持中文的编码方式,所以在Connector标签添加URIEncoding="UTF-8" 和 useBodyEncodingForURI="true"是为了将以GET提交的编码默认修改成为UTF-8
示例:
<li title="下一页">
<a href="${pageContext.request.contextPath}/product?method=searchProducts&pageNumber=${pb.pageNumber+1 }&spdesc=${spdesc}" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>//spdesc参数就是中文
一、出现的原因分析:
1.提交form表单时使用的时GET 方法提交(tomcat,默认,GET,ISO-8859-1,不是UTF-8等支持中文的编码方式);
2.提交form表单时忘记写提交方法了(method="post");
3.在JSP页面已经设置了支持中文的编码方式,同时也使用了过滤器来统一编码,结果还是出现了??这样的乱码。
二、解决方法
其中1、2的问题还好解决,就是问题3的解决方法要麻烦些。问题3的解决方法如下:
打开tomcat的配置文件:server.xml【tomcat的所在的目录:如,D:\Java\apache-tomcat-8.5.23\conf\server.xml】,进行如下配置:在Connector标签添加URIEncoding="UTF-8"和 useBodyEncodingForURI="true",效果如图:
问题3出现的具体原因是:超链接的提交方式为Get,而Get方式提交的编码方式不是支持中文的编码方式,所以在Connector标签添加URIEncoding="UTF-8" 和 useBodyEncodingForURI="true"是为了将以GET提交的编码默认修改成为UTF-8
相关文章推荐
- js从html获取提交给servlet,servlet把值返回html 出现中文乱码
- servlet中通过getWriter()获取out返回给浏览器出现中文乱码问题
- 解决servlet获取页面提交参数中文乱码
- ajax post 提交中文java后台获取参数出现乱码解决方法
- ajax post 提交中文java后台获取参数出现乱码解决方法
- 通过struts2获取存储到数据库出现中文乱码问题
- asp获取表单提交中文参数部分文字乱码
- Jsp通过地址址传递中文参数出现乱码
- 通过url提交中文参数乱码问题
- Servlet从上一个页面获取参数(中文乱码解决方法)
- JSP页面post和get方式提交请求,请求参数出现中文乱码
- javascript获取超链接传递的参数,此方法亦能解决2个通过js超链页面传递参数的乱码问题
- Servlet中通过过滤器实现统一的手动编码(解决中文乱码)
- 表单提交之后,通过request获取的中文数据显示乱码
- 解决 jsp传中文参数到servlet出现乱码问题
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- Servlet中通过过滤器实现统一的手动编码(解决中文乱码)
- 彻底解决get显示提交时,参数中包含中文时出现乱码的问题
- A标签中传递的中文参数到Servlet 后台request.getParameter()接收时出现中文乱码
- 传递中文参数后台获取出现乱码解决方法