问题是这样的:doGet调用showQueryResult显示结果集合(先声明:sql语句是传过来的,不知道字段名,所以我用的ResultSetMetaData).可以显示数据,但是中文全是"?"
public String trans(String chi){
         result=null;
byte temp[];
try{
         temp=chi.getBytes("iso-8859-1");
result=new String(temp);
}catch(UnsupportedEncodingException e){
         System.out.println(e.getMessage());
}
return result;
}
public void showQueryResult(String sql,HttpServletResponse response){
.
.
.
        ResultSetMetaData metadata = rs.getMetaData(); 
        while(rs.next()){
                 for(int i=1;i<metadata.getColumnCount();i++){
                 out.println(getCol(rs,metadata.getColumnType(i),i));
        }
        out.println("|");
        }
.
.
}
public String getCol(ResultSet rs,int type,int colNum) throws SQLException{
String ret="";
switch(type){
        case(12):ret=rs.getString(colNum);break;
        case(2):ret=String.valueOf(rs.getInt(colNum));break;
        case(93):ret=String.valueOf(rs.getDate(colNum));break;
}
return trans(ret);
}

解决方案 »

  1.   

    这是过滤器的类
    import javax.servlet.*;
    import javax.servlet.http.HttpServlet;
    import java.io.IOException;/**
    *
    * Date: 2005-9-19
    * Time: 17:33:36
    * @author Duzk
    */
    public class MyFilter extends HttpServlet implements Filter {
    private FilterConfig filterConfig;
    //Handle the passed-in FilterConfig
    public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
    }//Process the request/response pair
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain filterChain) {try {
    request.setCharacterEncoding("GBK");
    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() {
    }
    }然后在web.xml里加上这段
    <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>类路径.MyFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>