我用hibernate操作mysql数据库,当执行插入操作时成功,但是查询数据库是中文是乱码

解决方案 »

  1.   

    //用这个实现./*********************************************
     * 作者: Moonfox
     * 创建日期: 20072007-2-13
     * 电子邮件: [email protected]
     * 工程名字: Hibernate
     * 当前类: public class MyrequestProcessor{ }
     ********************************************/
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.RequestProcessor;
    public class MyRequestProcessor extends RequestProcessor {
     
     public MyRequestProcessor() {}
     
    protected boolean processPreprocess( HttpServletRequest request,
                                         HttpServletResponse response ){
     
     try{
        request.setCharacterEncoding("UTF-8");
     
     }
     catch(Exception ex){
     System.out.println("字符集设置失败");
      
     }
     
     return true;
    }}
      

  2.   

    用struts实现监听器很简单了.在struts-config.xml中加入<controller processorClass="MyRequestProcessor"/>把自己带的换成这个就可以了
      

  3.   

    我也遇见过!
    这是hibernate版本的问题,请用3.1以上的版本!
    3.1一下中文有问题
      

  4.   

    不应该是hibernate的问题
    应该mysql对中文的支持问题 上网搜一下吧
    有相应的函数来解决 就类似jsp页面编码一样
      

  5.   

    是数据库里是乱码?还是页面出现乱玛?如果是数据库,那么你安装mysql的时候可能就没按照正确的编码安装..找到mysql的安装目录改下my.ini 的default-character-set=utf8 编码格式.
    如果是页面的乱码 那么就用过滤器解决...如果是get请求 可以修改web服务器 里的server.xml
    加上URIEncoding="utf-8"..