直接在mysql里调用存储过程不会中文乱码,我已经把字符集都设置为utf8了,还是乱码,怎么破

解决方案 »

  1.   

    打开连接后,先执行 SET NAMES utf8;  呢?
      

  2.   

    SET NAMES not allowed by driver
      

  3.   

    show variables like 'character_set_%';查看你数据库字符集的设置
      

  4.   

    我按照这个帖子里改了,http://blog.csdn.net/taxuec750/article/details/12616927,结果显示不是乱码,变成空白了
      

  5.   


    character_set_client     | utf8
    character_set_connection | utf8
    character_set_database   | utf8
    character_set_filesystem | binary
    character_set_results    | utf8
    character_set_server     | utf8
    character_set_system     | utf8
      

  6.   

    mfc用ado调用mysql存储过程插入中文数据时乱码,很可能是用的ado字符集与character_set_client     | utf8 不一样。
      

  7.   

    无意中发现一个问题,配置了 default-character-set=utf8,show variables like 'character_set_%';
    显示相关的都是 utf8
    执行: 
    mysql> INSTALL PLUGIN xx SONAME 'xx';
    ERROR 1126 (HY000): Can't open shared library 'd:\mysql\lib\plugin\xx' (errno: 126 ÕҲ»µ½ָ¶¨µÄģ¿顣)然后去掉 default-character-set=utf8
    | character_set_client     | gbk                      |
    | character_set_connection | gbk                      |
    | character_set_database   | utf8                     |
    | character_set_filesystem | binary                   |
    | character_set_results    | gbk                      |
    | character_set_server     | utf8                     |
    | character_set_system     | utf8
    执行:
    mysql> INSTALL PLUGIN xx SONAME 'xx';
    ERROR 1126 (HY000): Can't open shared library 'd:\mysql\lib\plugin\xx' (errno: 126 \00D5\04B2\00BB\00B5\00BD\05B8\00B6¡§\00B5\00C4\0123\00BFî•)再执行:
    mysql> set names utf8;
    Query OK, 0 rows affected (0.00 sec)mysql> INSTALL PLUGIN xx SONAME 'xx';
    ERROR 1126 (HY000): Can't open shared library 'd:\mysql\lib\plugin\xx' (errno: 126 找不到指定的模块。)
    这里正常了,但是配置中不去掉 default-character-set=utf8的话, set names utf8;之后,仍然是乱码