/// <summary>
    /// 查询数据
    /// </summary>
    /// <param name="sql"></param>
    public DataSet query(string sql)
    {
        this.openConn();
        MySQLDataAdapter sqlDA = new MySQLDataAdapter("set names gb2312", DBConn);
        sqlDA = new MySQLDataAdapter(sql, DBConn);
        DataSet ds = new DataSet();
        sqlDA.Fill(ds, "message");
        string xml;
        xml = ds.GetXml();
        ds.Clear();
        //声明字符集
        System.Text.Encoding iso8859, gb2312;
        //iso8859
        iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
        //国标2312
        gb2312 = System.Text.Encoding.GetEncoding("gb2312");
        byte[] bt;
        bt = iso8859.GetBytes(xml);
        xml = gb2312.GetString(bt);
        ds.ReadXml(new System.IO.StringReader(xml));
        return ds;
    }
这是在DbManager类中的代码,包括了数据库的一些操作.
  //拼装查询语句,绑定数据库
    protected void GridView1_DataBind()
    {
        try
        {
            StringBuilder strCommand = new StringBuilder();
            strCommand.Append("select * from ygjnk_zd_jnlb ");
            strCommand.Append("where(1=1)");
            string str = strCommand.ToString();
            //将查询结果放在DataSet结果集中
            DataSet dr = dao.query(str);
            //将查询的结果以表的形式显示
            GridView1.DataSource = dr.Tables["message"];
            this.GridView1.DataBind();
        }
        catch
        {
        }
        finally
        {
            this.dao.connClose();
            
        }    }
这是页面后台查询代码,可是现在数据库中为中文,查询到页面的为乱码,我的数据库为MySQL5.0
请高手能给予解决!