JSP中两个页面之间的跳转怎么处理乱码?

解决方案 »

  1.   

    我刚学JSP的
    各位帮帮忙啊~~~~~~~~~~
      

  2.   

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
      

  3.   

        <filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>org.train.controller.filter.EncodingFilter</filter-class>
    <init-param>
    <param-name>Encoding</param-name>
    <param-value>GB2312</param-value>
      </init-param>
        </filter>
        <filter-mapping>
            <filter-name>EncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      

  4.   

    package org.train.controller.filter;import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;public class EncodingFilter implements Filter
    {
    protected FilterConfig filterConfig;
    protected String encoding;

    public void init(FilterConfig filterConfig)throws ServletException
    {
    this.filterConfig=filterConfig;
    this.encoding=filterConfig.getInitParameter("Encoding");
    }

    public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
    {
     if(request.getCharacterEncoding()==null)
     {
     String encode=getEncoding(request);
     if(encode!=null)
     {
    request.setCharacterEncoding(encode);
    response.setContentType("text/html; charset=GB2312");  
     }
     }
     chain.doFilter(request,response);
    }

    public void destroy()
    {
    filterConfig=null;
    encoding=null;
    }
    private String getEncoding(ServletRequest request) 
    {
    return this.encoding;
    }
    }
      

  5.   

    具体的解决方法可以看我的总结的帖子:
    http://topic.csdn.net/u/20090426/10/9f6dd417-7222-4f27-98fe-0c1ac8385620.html
      

  6.   

    所有page charset="GBK"String a = new String(request.getParameter("a").getBytes("iso-8859-1"),"GBK")
      

  7.   


        <%@page contentType="text/html; charset=gb2312"%>
        <%response.setCharacterEncoding("GB2312");%> //传到另一个页面时,在传之前要写这一行代码。
    String a = new String(request.getParameter("a").getBytes("iso-8859-1"),"GBK")
    String a = new String(request.getParameter("a").getBytes("iso-8859-1"),"gb2312")//在接收页面时,接收时写这一段代码!保你没有问题!!
      

  8.   

    同一编码格式就行了,pageEncoding="gb2312"
    如果用到struts2的话,在struts.xml中加<constant name="struts.i18n.encoding" value="GBK"/>