在下做了个winfrom软件,用来查询数据库的
但是,数据库中的中文字段显示是乱码。又不能更改数据库编码。我查询的时候要转成中文的,但是我有条件查询的时候,还得从新编译过去,数据库才能识别,不然SQL语句查询的都是空的。
     comboBox2.Visible = true;            string sql = "SELECT country_cn FROM cai_tm_country WHERE country_region='";
            if (comboBox1.Text != " ")
            {
                sql += comboBox1.Text.Trim() + "'";
            }
            DataSet ds = MySqlHelper.ExecuteDataSet(sql, null);
            DataTable dt = ds.Tables[0];
            foreach (DataRow r in dt.Rows)
            {
                comboBox2.Items.Add(Cionverts.DisplayCN(r["country_cn"].ToString())); //Cionverts.DisplayCN是自己定义的编码转换的,
            }那我怎么把他在转回去呢? 请高手帮忙

解决方案 »

  1.   

       public static string DisplayCN(string str)
            {
                return System.Text.Encoding.GetEncoding("gb2312").GetString(System.Text.Encoding.GetEncoding("iso8859-1").GetBytes(str)); 
            }
    这是里面转编码的代码
      

  2.   

    传回去的时候,反着来一遍就行了。 
    System.Text.Encoding.GetEncoding("iso8859_1").GetString(..............."gb2312".........)
      

  3.   

    参考一下这个贴子中关于字符集的说明。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码