我想把mysql数据中的汉字编程输出到txt文本中, 其中汉字全部是"???"乱码. mysql中编码是utf8.  我使用的vs2010,所以我用WideCharToMultiByte把汉字转换成unicode,再把unicode转换成ansi(新建文本文件的格式), 可是还是乱码.请各位高手帮忙.if( !(res = mysql_store_result(ssock)) )  //检索行
{
MessageBox(_T("mysql_store_result() Error"));  
return FALSE;
}

while( (row = mysql_fetch_row(res)) )
{          
for(int j=0 ; j < mysql_num_fields(res); j++)  
{
//row[j]输出到txt中 ,我使用的是vs2010 }  }     

解决方案 »

  1.   

    先执行一下 set names 'gbk';http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    在程序里面执行  set names gbk;?
      

  3.   


    恩show variables like 'char%';查看一下字符集
    然后再 再set names 'gbk'
      

  4.   

    应该是字符集的问题
    show variables like 'char%';贴结果,连接MYSQL的字串是什么
      

  5.   

    mysql中编码是utf8,具体是指哪个参数为UTF8
    请使用 show variables like '%character%'; 查看。
    mysql> show variables like '%character%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)character_set_results    这个才是您要的数据的编码