楼主用什么方法把参数传到页面的呢?加JSP页面里加一句这个呢:
request.setCharencoding="gb2312“

解决方案 »

  1.   

    struts.xml里面加
    <constant name="struts.i18n.encoding" value="GBK" />struts2 中最好统一用utf-8
    页面统一用UTF-8
    看看你的 WEB.XML中这里的设置
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
      

  2.   

    上面方法不行
    可以在试试这个在 action中加
    HttpServletResponse response = null;  
    HttpServletRequest request=null;
    response = ServletActionContext.getResponse();    
    request.setCharacterEncoding("utf-8");     
    response.setContentType("text/html;charset=utf-8");
      

  3.   

    写个过滤器吧,有的时候直接转换是不行的,得写个过滤器。呵呵
    code
    package com.web.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 String encoding = null; protected FilterConfig filterConfig = null; public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    String encoding = selectEncoding(request);
    if (encoding != null) {
    request.setCharacterEncoding(encoding);
    }
    chain.doFilter(request, response);
    }
    public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
    this.encoding = filterConfig.getInitParameter("encoding");
    System.out.println("ok");
    }
    public void destroy() {
    this.encoding = null;
    this.filterConfig = null;
    }
    protected String selectEncoding(ServletRequest request) {
    return (this.encoding);
    }}
    这个是web. xml中的配置文件,直接考上去就可以用了
              <filter>
    <filter-name>Encoding</filter-name>
    <filter-class>com.web.filter.EncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>Encoding</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    记得结贴哦,呵呵!
      

  4.   

    用这个最省心~~
    String src = new String(src.getBytes("ISO8859_1"),"GBK");当然,最好整合spring;
    <filter>
      <filter-name>Spring character encoding filter</filter-name> 
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param>
      <param-name>encoding</param-name> 
      <param-value>GBK</param-value> 
    </init-param>
    </filter>
    顺便问句,struts2是把值存在map里,然后再jsp用el或者struts2标签取,怎么可能乱码;
    Map voPut= ActionContext.getContext().getSession();
    voPut.put("user", this);
      

  5.   

    request.setCharacterEncoding(GBK); 
      
    response.setContentType(text/html; charset=GBK);
      

  6.   

    把发送的参数编一下码,比如做一下加密处理,在页面上再解密,Base64即可解决