MFC采用UNICODE连接采用UTF-8的MySQL数据库的查询数据的有关问题

MFC采用UNICODE连接采用UTF-8的MySQL数据库的查询数据的问题
我的项目是采用MFC架构,项目编码采用UNICODE,连接的数据库是UTF-8格式的的MySQL数据库。现在我已经连接成功了。也能写数据了,但是查询时候WHERE 里面有中文的时候就查询不成功?请问这是为什么呢?

代码:
C/C++ code

MYSQL mysql; //数据库连接句柄
        mysql_init(&mysql);
          if(!mysql_real_connect(&mysql,"localhost","root","hongran","mes",3306,NULL,0))  
        {
            AfxMessageBox(_T("数据库连接失败"));
            return;
        }
        CString cstId,prtId;
        CString sqlCmd;
        cstId = _T("cst_00001");
        prtId = _T("prt_00001");

        sqlCmd.Format(_T("SELECT * FROM S_PORT_T WHERE PORT_DESC = '小白兔aaa'"));        
                  string mstring = WideCharToMultiChar( (LPCTSTR)sqlCmd );
        const char *ch =  mstring.c_str();
        if(mysql_real_query(&mysql,ch,sqlCmd.GetLength())!=0)
        {
            const char * errorMes = mysql_error(&mysql);
            AfxMessageBox(_T("数据库表格出错"));
            return;
        }
        
        MYSQL_RES *result;
        MYSQL_ROW row;
        if(!(result = mysql_use_result(&mysql)))
        {
            AfxMessageBox(_T("读取数据集失败"));
            return;
        }
        int i = 0;
        while(row = mysql_fetch_row(result))
        {
            char* tst = row[1];
            int yy = 0;
        }
        mysql_free_result(result);
        mysql_close(&mysql);



快过年了,希望年前把这个问题解决噢。希望各位大小不吝赐教啊

------解决方案--------------------
为什么要用CString,直接
C/C++ code
CHAR szSql[] = "SELECT * FROM S_PORT_T WHERE PORT_DESC = '小白兔aaa'"

------解决方案--------------------
顶一个,我也遇到同样的问题,请楼主共享下答案呗
------解决方案--------------------
连接成功后
mysql_set_character_set(&mysql, "gbk");