
Jsp+servlet出现页面全乱码
我的myeclipse的默认编码方式是utf-8的,在servlet中有这样一段代码:response.setContentType("text/html;utf-8")...
我的myeclipse的默认编码方式是utf-8的,在servlet中有这样一段代码:response.setContentType("text/html;utf-8");但是经过request.getRequestDispatcher("admin/adminLogin.jsp").forward(request, response);后页面全是??,于是我又改变方式:response.setContentType("text/html");
response.setCharacterEncoding("utf-8");结果还是页面全是??。我上网搜解决方案,于是i我在jsp页面添加了这样的语句:request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");结果还是一样页面全是??。我知道这是编码的问题,但是我想知道到底是怎么引起的额!!
这样修改编码不行,于是我换用response.sendRedirect("admin/adminLogin.jsp");
结果惊人!!居然可以正常显示,但是问题有来了,这样的方式不能接受在servlet中request.setAttribute("error", "输入的验证码不正确!");方式存放的值!!
大哥们,我这里再补充一下,原来我页面的默认方式是iso8859-1的,在这种情况下,用request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");结果是正常的,但是,修改页面方式是在我写servlet之前的,之前我写的所有servlet和jsp页面都是正常现实的,现在我又要问了,就算我修改了jsp页面的默认编码方式,但是还是utf-8的啊,也是在写servlet之前啊,为什么我修改页面编码,就是不好使呢???
各位大哥,这个问题是我深究了很久的问题。我实在是没有办法了,要是你们给我建议说:再把编码改回iso8859-1的话,就算了吧,我求最好的解决方案!!!小弟感激不尽!!!!!!!!!!!!!!!
我只有三分了,那位解决了我的问题,我献出全部家当!!
是页面乱码,不是参数乱码! 展开
response.setCharacterEncoding("utf-8");结果还是页面全是??。我上网搜解决方案,于是i我在jsp页面添加了这样的语句:request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");结果还是一样页面全是??。我知道这是编码的问题,但是我想知道到底是怎么引起的额!!
这样修改编码不行,于是我换用response.sendRedirect("admin/adminLogin.jsp");
结果惊人!!居然可以正常显示,但是问题有来了,这样的方式不能接受在servlet中request.setAttribute("error", "输入的验证码不正确!");方式存放的值!!
大哥们,我这里再补充一下,原来我页面的默认方式是iso8859-1的,在这种情况下,用request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");结果是正常的,但是,修改页面方式是在我写servlet之前的,之前我写的所有servlet和jsp页面都是正常现实的,现在我又要问了,就算我修改了jsp页面的默认编码方式,但是还是utf-8的啊,也是在写servlet之前啊,为什么我修改页面编码,就是不好使呢???
各位大哥,这个问题是我深究了很久的问题。我实在是没有办法了,要是你们给我建议说:再把编码改回iso8859-1的话,就算了吧,我求最好的解决方案!!!小弟感激不尽!!!!!!!!!!!!!!!
我只有三分了,那位解决了我的问题,我献出全部家当!!
是页面乱码,不是参数乱码! 展开
4个回答
展开全部
我按照我的理解说 不知道对不对 有点忘了 你的
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8"); 这是对你传入和接受jsp页面的数据的编码格式 而不是对jsp设置的编码格式 你的request.getRequestDispatcher("admin/adminLogin.jsp").forward(request, response)动过拦截器可能要重新加载页面 所以你的页面里有utf-8和 iso8859-1两种编码 加载的时候会是乱码
我认为最好的解决方法就是在你每次创建jsp的时候就把页面的编码改成<?xml version="1.0" encoding="UTF-8" ?>的 这样就不会出乱码问题了
不知道对不对 凑合着看看
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8"); 这是对你传入和接受jsp页面的数据的编码格式 而不是对jsp设置的编码格式 你的request.getRequestDispatcher("admin/adminLogin.jsp").forward(request, response)动过拦截器可能要重新加载页面 所以你的页面里有utf-8和 iso8859-1两种编码 加载的时候会是乱码
我认为最好的解决方法就是在你每次创建jsp的时候就把页面的编码改成<?xml version="1.0" encoding="UTF-8" ?>的 这样就不会出乱码问题了
不知道对不对 凑合着看看
展开全部
JSP开头加入:<%@ page pageEncoding="UTF-8" %>
追问
要是这样的话就好了!!
追答
这样不行么,你的是显示出现乱码,不是jsp接收到乱码,应该可以吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jsp本身编码也要是utf-8,而不是单单设置<%@ page pageEncoding="UTF-8" %>就完了。
另外jsp中html<head>中的<meta http-equiv="content-Type" content="text/html; charset=UTF-8">
另外如果是post请求最好就是用转码了,因为post请求发送前已经经过编码了。
另外jsp中html<head>中的<meta http-equiv="content-Type" content="text/html; charset=UTF-8">
另外如果是post请求最好就是用转码了,因为post请求发送前已经经过编码了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、在JSP开头加入<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
2、如果1还是不是不行,你就写个过滤,所有的jsp和servert的编码都用UTF-8,这样是可以解决你的乱码的问题
2、如果1还是不是不行,你就写个过滤,所有的jsp和servert的编码都用UTF-8,这样是可以解决你的乱码的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询