关于项目在网页中运行部分jsp出现乱码(由request.getRequestDispatcher("XXX.jsp").forward(request, response)造成)

Posted 宋泊然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于项目在网页中运行部分jsp出现乱码(由request.getRequestDispatcher("XXX.jsp").forward(request, response)造成)相关的知识,希望对你有一定的参考价值。

在写jsp的时候发现部分的jsp在浏览器预览时出现乱码,为一堆问号,如图:

 

当时问了同学,只有部分jsp会出现乱码,因为重新建一个jsp在运行就没有错误,可以显示出来,所以发现是jsp头部的错误,当新建一个jsp把内容复制过去可以正确显示,但当把名字改成需要跳转的jsp时就会出现乱码,所以我才发现是由于调用这个名字的jsp出现了错误即:request.getRequestDispatcher("XXX.jsp").forward(request, response)造成了乱码,解决只需要在servlet的doGet方法里加入  response.setCharacterEncoding("UTF-8");,至于为什么之前的request.setCharacterEncoding("UTF-8");和response会由不一样的效果呢,这是因为request.setCharacterEncoding():是设置从request中取得的值或从数据库中取出的值。而response.setCharacterEncoding()设置HTTP 响应的编码,因此两者作用不一样。

以上是关于关于项目在网页中运行部分jsp出现乱码(由request.getRequestDispatcher("XXX.jsp").forward(request, response)造成)的主要内容,如果未能解决你的问题,请参考以下文章

在线等!关于jsp页面表单中文数据提交到后台出现乱码问题!

关于webstorm打开现有页面出现乱码的问题?

关于request和response的乱码问题

js的中文在网页中显示为乱码

为啥同样的项目中同样的jsp,我这运行时jsp就有一部分乱码呢? eclipse+tomcat都可以改哪些编码,在哪改

web页面查询后中文关键字乱码,如何解决?