sql数据库啊
而且不知道为什么中文我用iso转换了在保存到数据库里面还是乱码

解决方案 »

  1.   

    用?代替试试吧
    like '%?%'   setParamter(0,"书");
      

  2.   

    就是不可以啊 
    问题不是查询语句的问题,可能是struts hibernate的中文问题啊
    网上那些转换我都做了还是没有什么用??

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.RequestProcessor;
    public class MyRequestProcessor1 extends RequestProcessor{
     public MyRequestProcessor1(){}
     protected boolean processPreprocess(HttpServletRequest request,
       HttpServletResponse response){
      try{
       request.setCharacterEncoding("GB2312");//在此设置字符集
      }
      catch(Exception ex){
       System.out.println("字符集设置失败");
      }
      return true;
     }
    }
    没有什么用在strut-config.xml
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>com.common.MyRequestProcessor1</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
         <load-on-startup>2</load-on-startup>
      </servlet>
      

  3.   

    request.setCharacterEncoding("GB2312");//在此设置字符集
    这个设置字符应该跟访问数据不是很大关系,因为你的数据是直接的值,如果是来自请求的就得设置一下,这个问题没有遇到过,所以也不好说了
      

  4.   

    或者是数据库的字符集没设正确,或者是在接收请求时request.setCharacterEncoding没调用到,或者你是通过Get请求的,那必须进行编解码转换,因为这时的request.setCharacterEncoding已经无效
      

  5.   

    这样确实查不出来,但是可以这样...
    String str="%"+"书"+"%";
    List list=this.getHibernateTemplate().find("from Table where name like ? ",str);
      

  6.   

    你用的是hibernate3.0.X吧..?如果是的话.这是3.0的bug..升级hibernate3.jar包到3.1.2或者更高版本就能解决