這是系統字符集和數據庫字符集不一至造成的
你可以自己手動寫代碼實現轉換 
struts  裡面提供了這個功能的過濾器 可以調用
細節問題自己找資料了

解决方案 »

  1.   

    byte[]   da=rs.getString(id).toString().trim().getBytes();
    ByteArrayInputStream bais=new ByteArrayInputStream(da);
             DataInputStream dis=new DataInputStream(bais);
            String str1=dis.readUTF();
            String   result_str.setString(str1);
    我记得我以前是这样写过~
      

  2.   

    太久了,忘记了,而且还不是StrutS里的,
      

  3.   

    建议你先看看http://tech.ccidnet.com/art/1112/20051116/374077_1.html这篇文章。
      

  4.   

    你的数据库存储时的编码的问题,jsp用的utf-8  但是数据库存储是可能用的是别的编码格式,
    这样就是乱码了
      

  5.   

    在web.xml最后加上
     <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>com.yourcompany.struts.filter.SetCharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    SetCharacterEncodingFilter.java代码如下(路径自己改)package com.yourcompany.struts.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;
    //import javax.servlet.UnavailableException;
    public class SetCharacterEncodingFilter implements Filter { 
        public void destroy() {
        }    public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain)throws IOException, ServletException {    request.setCharacterEncoding("UTF-8");
        chain.doFilter(request, response);
        }    public void init(FilterConfig filterConfig) throws ServletException {
        }
    }