mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "utf8");wchar_t *sql = _T("xxxxxxx");
//这个utf8 和sql 的unicode编码不一样,如果连接数据库后.
//要使用查询函数mysql_real_query(MYSQL *mysql, const char *q,unsigned long length).
//还得把sql这个字符串用WideCharToMultiByte转成utf8的.
//有可以不转的方法么?

解决方案 »

  1.   

    你的*SQL中是什么编码,你就直接 mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "你的编码");
    操持这个编码和你的环境相同而不是和数据库相同。详细你可以参考下贴中关于字符集的一些介绍。
    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    那个sql 是wchar_t*,这个是unicode编码.因为工程里面全是用的这个unicode编码,但是不知道数据库没有unicode编码.
      

  3.   

    既然你用到unicode,当然就得转换成utf8,再用。