我写了个hibernate小程序,向数据库中插入中文,查询结果都是?,但是直接在mysql中插入中文没有问题。
jdbc:mysql://localhost:3306/db_eshop?useUnicode=true&characterEncoding=gb2312后面加了:
 ?useUnicode=true&characterEncoding=gb2312  程序就会报错。请高手指教

解决方案 »

  1.   

    你新建数据库,或者在设置数据库的默认编码的时候,是设置成什么编码的?一般默认都是设成UTF-8的,然后程序端传过来的就是要UTF-8编码的中文。要是你是从页面传过来的,那可能就是传过来的时候就已经是乱码了,解决方法是加一个filter来过滤一下字符编码,统一成UTF-8。。要是根据你的情况就是把那些都统一设成GB2312
      

  2.   

    看一下你MySql和程序里面的编码格式是否一致
      

  3.   

    jdbc:mysql://localhost:3306/db_eshop?useUnicode=true&characterEncoding=gb2312
    这是在xml中的写法。
    如果不是xml中。应该用:
    jdbc:mysql://localhost:3306/db_eshop?useUnicode=true&characterEncoding=gb2312
    吧。