STRUTS插中文数据到SQLSERVER数据库中怎么就成乱码了呢?请知道的朋友指点一下!听别人说要转换编码,但具体怎么做不清楚。希望能给个具体点的建议,谢谢!

解决方案 »

  1.   

    request.setCharacterEncoding("gb2312");
      

  2.   

    应该先判断一下在放进去之前是不是中文的,如果是的,那显然问题出在数据库的设置上。如果不是,那么就更简单了,就是在struts里出的问题,我碰到的有的人是form的问题,有的是jsp的问题,有的是没有filter,只要各个环节保障好,绝对不会除乱码。
      

  3.   

    加个字符转换就好了
    在action 里得到前台提交的字符串用
    String name=(String)request.getParameter("textfield");
    在得到以后转换一下
    try{
    name=new String(name.getBytes("ISO8859_1"), "gb2312");
    }catch(Exception e){
    }
      

  4.   

    我应该是没有过滤器,我正在requestprocessor里面写request.set......("gb2312"),不知道行不行
      

  5.   

    baobao28()  说的是种方法,但我提交的字段很多,那我还不得一个一个的改?好象有点麻烦!
      

  6.   

    我在RequestProcessor里面试成功了!
    import java.io.UnsupportedEncodingException;import org.apache.struts.action.RequestProcessor;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class MyRequestProcessor extends RequestProcessor {
    protected boolean processPreprocess(HttpServletRequest request,
    HttpServletResponse response){
    try {
    request.setCharacterEncoding("gb2312");
    } catch (UnsupportedEncodingException e) {
    System.out.print("字符集设置失败");
    }
    return true;
    }
    }
    共享一下,呵呵!