q = session.createQuery("form test where a='中文'");//这样写java应该识别不了的,因为java的默认编码是iso8859-1,不能对汉字编码,必须手动的转化为gbk或utf-8

解决方案 »

  1.   

    应该是你sqlServer编码设置问题吧,Java中是可以把中文写进去的。因为Java是采用Unicode编码
      

  2.   

    Hibernate: select fjls_wrwdm0_.wrwlb as wrwlb, fjls_wrwdm0_.wrwdm as wrwdm, fjls_wrwdm0_.wrw as wrw14_, fjls_wrwdm0_.wrwfl as wrwfl14_, fjls_wrwdm0_.forshort as forshort14_, fjls_wrwdm0_.isvalid as isvalid14_, fjls_wrwdm0_.sortno as sortno14_, fjls_wrwdm0_.cgfxr as cgfxr14_, fjls_wrwdm0_.description as descript9_14_ from jls_wrwdm fjls_wrwdm0_ where wrwlb='FQ' and wrwdm='01' and fjls_wrwdm0_.wrw='????·???????'
    把HSQL打印出来中文变成问号了
      

  3.   

    http://iamtin.spaces.live.com/blog/cns!9ed6cc2e019007d5!444.entry
      

  4.   

    在cfg中设置操作数据库编码方式
    <property name="connection.useUnicode">true</property>
    <property name="connection.characterEncoding">utf-8</property>