servlet中通过request.getRequestDispatcher跳转到jsp页面汉字乱码问题

    技术2022-05-18  16

    servlet中通过request.getRequestDispatcher("test.jsp").forward(request, response)跳转到test.jsp页面,test.jsp中的汉字都显示“?????”,在浏览器中直接跳转到test.jsp页面就是正常的。这个问题主要是编码不一致引起的,需要在jsp页面设置,servlet中有如下语句设置编码方式:

     response.setCharacterEncoding("UTF-8"); // 先指定输出流的编码

    PrintWriter out = response.getWriter(); // 再拿到输出对象

    response.setContentType("text/html;charset=UTF-8"); 另外,还可能是因为tomcat本身的编码问题不一致,找到tomcat的安装目录下的conf文件下的server.xml,查看其编码格式,

     

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

     

    将所有的都设置为统一的格式后,乱码问题就解决了。


    最新回复(0)