package com;public class ToUtil {
  public ToUtil() {
  }
public static String Togb2312(String str)
            {
             byte gb2312[]=new byte[str.length()];
             for(int i=0;i<str.length();i++)
             {
               gb2312[i]=(byte)str.charAt(i);
             }
             return new String(gb2312);
        }
}一个转化函数!

解决方案 »

  1.   

    写一个fiter,在fiter中设置request.setCharacterEncoding("GBK");或
    request.setCharacterEncoding("GB2312");应该就可以了
      

  2.   

    qudong078(屈东)我在页面中已有设置啊
    <%@ page contentType="text/html;charset=GBK" %>
    <%request.setCharacterEncoding("GBK");%>
      

  3.   

    EJB? 你把JavaBean做成Servlet就知道问题的来源了,呵呵
      

  4.   

    你是用jbuider吗?是的话那就恭喜你,jb9以上版本(盗版)不能解决乱码问题,时常出错,
    特别表现在include的页面上,没有办法解决,除非你买个正版的用。
      

  5.   

    我想不是jbuilder版本的问题会不是是操作系统的问题,我在两台win2000 pro中文版的机器上都能显示但在win2000 server 中文版上就有上述问题
      

  6.   

    从数据库中查询的结果又中文字符的时候,就会出现乱码的现象
    用 asdlcj(asdlcj) 贴出来的 togb2312 函数转换一下就可以了    public static String toGB2312(String str) {
            int len = str.length();
            if (len != 0) {
                byte[] GB2312 = new byte[len];
                for (int i = 0; i < len; i++) {
                    GB2312[i] = (byte) str.charAt(i);
                }
                return new String(GB2312);
            }
            return "";
        }
    然后调用格式为:
     String str = toGB2312(rs.getString("param"));
      

  7.   

    加上.getBytes("ISO_8859_1")试试
      

  8.   

    跟服务器有关,改用resin服务器就没有这个问题了,我以前也碰到这个问题,使用getBytes也不能很好解决
      

  9.   

    使用一个过滤器package pagetest;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class EncodingServlet extends HttpServlet implements Filter {
      private FilterConfig filterConfig;
      private String targetEncoding="gb2312";
      //Handle the passed-in FilterConfig
      public void init(FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
        this.targetEncoding = filterConfig.getInitParameter("encoding");
      }
      //Process the request/response pair
      public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
        try {
          HttpServletRequest srequest = (HttpServletRequest)request;
          srequest.setCharacterEncoding(targetEncoding);
          filterChain.doFilter(request, response);
        }
        catch(ServletException sx) {
          filterConfig.getServletContext().log(sx.getMessage());
        }
        catch(IOException iox) {
          filterConfig.getServletContext().log(iox.getMessage());
        }
      }
      //Clean up resources
      public void destroy() {
        this.filterConfig = null;
      }
    }