MySql  存储过程输入参数的值为中文时出错,错误号1366 incorrect string values......
传英文时是没有问题的
show variables like 'char%' 显示全部都是UTF8;
之后又在my.ini文件中修改了字符集为gbk,也重启了mysql服务
再执行show variables like 'char%' 显示只有character_set_system 为 utf8
其他都是gbk但是还是出现上面的错误,求各位高手指点下。

解决方案 »

  1.   

    show variables like 'char%'
    在统一的字符集下重新建立SP试试
      

  2.   

    刚试了下也不行,网上看到有人说在参数声明时加上 charset utf8 (例如这样 a varchar(30)charset utf8)我也试了都不行。
      

  3.   

    SP在什么环境下测试的,MYSQL命令行?
      

  4.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  5.   

    肯定是字符的问题,set names gbk应该就行了。
      

  6.   

    set names gbk也没成功,是在命令行测试的,最后我只能把存储过程中与中文参数有关的部分直接在程序中用sql语句来操作了。
      

  7.   

    哥们儿,你用cmd来运行存储过程就不会有问题了,我刚才也遇到了跟你一样的问题,可能是工具本身自带编码方式。