各位大哥大姐。小弟在做项目时遇到了一个情况jsp页面出现乱码“?”。只是。。这次有点奇怪jsp页面第一次显示时没有出现乱码。。但是,小弟传了一个参数到servlet页面在跳转到原来的同一个页面时。却全部都是乱码。。请问大家该怎么解决??万分着急就要答辩了。。请各位帮帮忙吧。。谢谢!!!!servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
String Mes=new String(request.getParameter("Mes"));
request.setAttribute("Mes",Mes);
request.getRequestDispatcher("Messages.jsp").forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
String Mes=new String(request.getParameter("Mes"));
request.setAttribute("Mes",Mes);
request.getRequestDispatcher("Messages.jsp").forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
String Mes=new String(request.getParameter("Mes"));
request.setAttribute("Mes",Mes);
request.getRequestDispatcher("Messages.jsp").forward(request,response);
}
这下子清楚了吧。。各位大哥。。急等。谢谢。。
设置的编码和页面的编码一致么?
就是因為servlet与页面的编码不一致造成的.
LZ把编码都一致了就能解决相应问题.
其实最好还是写个过滤器.这样能一劳永逸
你的jdk的file.encoding是什么? 用什么什么服务器? 服务器的编码是什么?
用ff的httpfox看下http头里面的编码是什么楼上的 过滤器虽然能解决很多问题,但不能解决所有问题,
get方式:server.xml
建议你全部设置成UTF-8
改为String Mes=new String(request.getParameter("Mes").getBytes("你页面中的编码格式"));
试试
<%
String key=new String(request.getParameter("key").getBytes("ISO-8859-1"),"gb2312"); %>
关于那个response.setCharacterEncoding("gb2312");在 过滤器中是起作用的。在页面调用不行。另外欢迎加入我的java交流群(都是入门人才):73419082。