public static DataSet Query(string SQLString) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { DataSet ds = new DataSet(); try { connection.Open(); //MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection); MySqlDataAdapter command = new MySqlDataAdapter("set names utf8", connection); command.SelectCommand.CommandText=SQLString; command.Fill(ds, "ds"); } catch (MySqlException ex) { throw new Exception(ex.Message); } return ds; } }
测试了以下 不管是utf8 还是 gb2312 都是乱码。不知道什么原因!!!
那位大侠帮帮忙啊!!!
------解决方案-------------------- 数据保存的时候用nvarchar类型
------解决方案-------------------- 对于乱码一般使用Nchar、nvarchar、ntext(后续版本不建议使用),存储、读取的时候加上N,比如insert into a values(N'abc')这样格式,读取的时候可以不用,但是如果使用了临时表,那么临时表的字段类型也要设为N开头的那些。
------解决方案-------------------- show variables like 'char%' ; 贴出结果来看看。
------解决方案--------------------