今天把我做的一个系统 配置到别的机器中。。设置的都一样结果在 JSP  调用  mysql的存储过程提示出错
java.sql.SQLException: Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (gbk_chinese_ci,IMPLICIT) for operation '='在BAIDU上找了一些办法都不好事而且就调用存储过程会有该错误。。直接拼SQL语句不会有问题。。这是为什么呢????
求高手指教随时加分

解决方案 »

  1.   

    补充说明 是这样使用的存储过程
    CallableStatement cstmt = con.prepareCall("{call  login(?,?,?,?) }");

    cstmt.setString(1, "admin");
    cstmt.setString(2, "admin");

           cstmt.registerOutParameter(3, Types.INTEGER);
    cstmt.registerOutParameter(4, Types.VARCHAR);


    cstmt.execute();
    如果用这样的就没有问题
    cstmt = con.prepareCall("select count(*),user_popedom from user_info where user_id=? and user_pwd=?"); cstmt.setString(1, user);
    cstmt.setString(2, pwd);
      

  2.   


    请问连接代码是什么意思呀数据库默认的字符集是GBK
      

  3.   

    改 mysql安装目录的  .ini文件
      

  4.   

    查找MYSQL。INI文件,
    [mysql]default-character-set=utf8
      

  5.   


    是my.ini还是mysql.ini我的my.ini中的
    已经是
    default-character-set=utf8、
      

  6.   

    是my.ini还是mysql.ini :是my.ini
    在my.ini中加入 [mysql]default-character-set=utf8 
      

  7.   

    加入后,重新启动MYSQL,将出错的SP的代码重新PASTE到新的SP中试试
      

  8.   


    似乎还是不行呢。。不知道哪里错了。。我在我另一个 电脑上 做的时候 MYSQL的配置和这个一模一样。。唯一的区别就是我将数据库 导入的时候 这边只能选择UTF8不知道是不是和这个有关系。。