日期:2014-05-18  浏览次数:20946 次

MySQL数据库返回的DataTable表头乱码问题。。
用C#代码读取Mysql数据库,返回一个DataTable,它的表头中中文是乱码,但是表值里面的中文不是乱码。

C# code
            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

有什么办法让表头也不是乱码么?? 谢谢!

------解决方案--------------------
你用的是.NET的MYsql驱动么。 你这个问题我也遇到过。 MySQLDriverCS 这个DLL是无法正常获取中文的。

用这个把 http://download.csdn.net/detail/yes16ws/3314477
------解决方案--------------------
C# code

using MySql.Data.MySqlClient;

------解决方案--------------------
来瞧下。。
------解决方案--------------------
C# code

MySqlDataAdapter comment = new MySqlDataAdapter(sql, mysqlConnection);
                ds = new DataSet();
                comment.Fill(ds);
ds.Tables[0];