Mysql使用gb2312编码,vc6.0是英文版,数据库中有五张表,均是从SQL server中导过来的,我用ODBC访问Mysql数据库出现乱码(即“??”),但是用ODBC访问SQL server数据库却正常。

解决方案 »

  1.   

    是不是中文字符
    mysql处理中文字符好像必须得经过特殊处理
    也有可能是你自己的字符串没有加\0所致
    所用的库最好是mysql c api而不是mysql++库
    最好贴代码
      

  2.   

    我没用sql c api,mysql++库
      

  3.   

    在连上数据库之后,执行一条SQL命令就可以了。SET NAMES 'gb2312'
      

  4.   

    mysql_init (&sql_view);
    if(!mysql_real_connect(&sql_view,serv_ip_add,db_user_name,db_password,db_name,serv_port_num,NULL,0))

    AfxMessageBox(TEXT("视图与数据库联系出错,请确认您的操作权限!")); 
    PostQuitMessage(0); }
     //mysql_options(&sql_view, MYSQL_SET_CHARSET_NAME, "gbk");
    mysql_set_character_set(&sql_view,"gb2312");
    //mysql_set_character_set(&sql_view,"utf");
    我正在做的一个项目里头加上了mysql_set_character_set(&sql_view,"gb2312");  这句就好了.
    gb2312也可以换也gbk.你试下吧.