日期:2014-05-17  浏览次数:21124 次

C# mysql DataGridView 列名 乱码
mysql方面没什么问题,默认编码是 gb2312
c# 窗体里面添加个DataGridView控件,窗体load时,执行以下代码:
C# code

 server = "localhost";
            database = "csharp";
            name = "root";
            password = "root";
            string connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + name + ";" + "PASSWORD=" + password + ";";
            connection = new MySqlConnection(connectionString);
            string mysql = "select * from books";
            MySqlDataAdapter mysqlAdapter = new MySqlDataAdapter(mysql, connection);
            DataSet ds = new DataSet();
            mysqlAdapter.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            connection.Close();
            connection.Dispose();


大家应该看得懂吧,
结果是:
DataGridView的列名 乱码,正常显示应该是中文的,其他情况正常
请大家帮我分析下哪里出了问题?


------解决方案--------------------
SQL code
select * from books  
--把*号写成字段名试一试
应该不是Gridview的问题

------解决方案--------------------
你先在datagridview控件中设置好列名,然后再绑定试试看。
------解决方案--------------------
MySQLCommand com = new MySQLCommand("set names gb2312", conn);