String tmpname=request.getParameter("name");
name = new String(tmpname.getBytes("ISO8859-1"),"gb2312");
你按我的转换就行了,记得给分哦

解决方案 »

  1.   

    取参数前加 request.setCharacterEncoding("GB2312");
      

  2.   

    GBK 比gb2312 大一点点。
      

  3.   

    一般需要转换一下内码的。
    如果你转GB2312不行的话。可以试一下,转GBK 将“流氓无赖”测试到底
    ——始于2003年7月
    树欲止而风不停,行云流水匆匆去;
    树梢蚂蚱凭空望,江边浪花碎巨石; 支持“流金岁月”!!!
    发送框,少个“右键菜单,选择粘贴”;
    ——2003年12月24日am^@^
      

  4.   

    用filter
    public class EncodeFilter extends HttpServlet implements Filter
    {
        private FilterConfig filterConfig;
        protected String encoding = "GB2312";    public void init(FilterConfig filterConfig)
        {
    this.filterConfig = filterConfig;
        }    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
        {
    try
    {
                if ((request.getCharacterEncoding() == null))
                {
                    request.setCharacterEncoding(encoding);
                }
                filterChain.doFilter(request, response);
    }
    catch(ServletException sx)
    {
        filterConfig.getServletContext().log(sx.getMessage());
    }
    catch(IOException iox)
    {
        filterConfig.getServletContext().log(iox.getMessage());
    }
        }    public void destroy()
        {
        }
    }
    web.xml加上<filter>
        <filter-name>encodefilter</filter-name>
        <filter-class>com.genersoft.netbank.common.EncodeFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>encodefilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>