本帖最后由 whj92115 于 2015-01-07 13:26:28 编辑

解决方案 »

  1.   

    本人刚接触java web没几天,希望能听大神比较详尽的解释
      

  2.   

    response 输出结果至JSP页面,不设置setContentType默认编码为ISO-8859-1,
      现在你的参数在SERVLET层,需要输出至JSP层,如果不设置setContentType默认为ISO-8859-1显示,所以中文显示乱码。JSP编码设置只用于JSP要展示的静态数据,而你现在发现的这种情况,是SERVLET传到JSP的时候已经是乱码了,JSP只做展示,不会自动转码。
      

  3.   

    我能这样理解吗:servlet中通过forward方式跳转到jsp页面默认都是以ISO-8859-1编码的对吧?
      

  4.   

    直接在容器中加encoding效果更好
      

  5.   

    我能这样理解吗:servlet中通过forward方式跳转到jsp页面默认都是以ISO-8859-1编码的对吧?你可以这样理解,但是如果你在jsp中加了encoding="GBK",可以不使用这句话
      

  6.   

    我能这样理解吗:servlet中通过forward方式跳转到jsp页面默认都是以ISO-8859-1编码的对吧?你可以这样理解,但是如果你在jsp中加了encoding="GBK",可以不使用这句话
    我有加PageEncoding=“GBK",好像没用啊
      

  7.   

    页面中的contentType指页面的类型,跟服务器端无关,而response中指定的是服务器传过来的数据的类型
      

  8.   

    jsp:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <%@ page contentType="text/html;  pageEncoding="UTF-8" language="java" errorPage=""%>
    java:                req.setCharacterEncoding("UTF-8");
    res.setCharacterEncoding("UTF-8");