用C#代码读取Mysql数据库,返回一个DataTable,它的表头中中文是乱码,但是表值里面的中文不是乱码。            DataSet ds = MySqlHelper.ExecuteDataset(connMysql, "select '序号' as `序号`,2 as `名称`");
            DataTable dt = ds.Tables[0];
            Console.WriteLine(dt.Columns[0].ColumnName);
            Console.WriteLine(dt.Columns[0].Caption);
            Console.WriteLine(dt.Rows[0][0].ToString());
            Console.WriteLine(dt.Rows[0][1].ToString());返回的是:
?o???
?o???
序号
2有什么办法让表头也不是乱码么?? 谢谢!

解决方案 »

  1.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    检查一下字符集设置
    show variables like 'char%'; 
      

  3.   

    show variables like 'char%';
    检查字符集,如果字符集不相匹配,修改一下字符集。
      

  4.   

    解决了,在数据库的连接字符串里面设置字符集为utf8即可。。connectionString="server=10.11.11.11;user id=root; password=123456; database=test; pooling=false;charset=utf8"数据库是gbk的,服务器默认字符集也是gbk的,不知道什么原理。。