在vs2005中下列代码编译通过,但出现乱码。    CSTring str;
    char **row ; //row是用来接受数据库查询内容(其类型不能更改成WCHAR)
    str.Format(L"%s",row[0]);//str用于编辑框显示
  当程序启动后,row 接受的字符通过格式化转换后,str 获得的全是乱码!  将project->property->General选项中的字符集选项(character set),从Unicode设置为Mutli-Bytes后,将不出现乱码。
可是Windows CE 下需要使用Unicode字符。请高手帮忙!!!

解决方案 »

  1.   

    可能row[0]里不是Unicode吧,确定下row[0]是GB2312还是什么其它的?然后把它转换成Unicode
      

  2.   

    char **row ;呵呵你还说是unicode
    应当是这么定义吧
    WCHAR **row ;
      

  3.   

    回复4楼:
    由于使用Mysql数据库查询后返回的是char**类型,故不能直接定义成WCHAR。
      

  4.   


    在VS2005中不能直接使用“=”,否则报错:'operator =' is ambiguous.
      

  5.   

    3楼说的很对,row[0]里不是Unicode,但是使用很多的转换都不能解决!!!
    请将转换说的详细一点!!!谢谢!!!
      

  6.   

    回6楼的话,
    此处使用的是Unicode,使用%s将编译不通过!