ASP.net 读取MySql 数据出现中文乱码!
我用 navicat 在管理数据库,之前没有设置 编码的时候 navicat 表中的中文都是????? 后来在 连接属性-高级-(去掉)MySql字符集(上面的编码是utf-8) 中文就可以显示了。
但是我的asp.net WEB 程序连接MySql获取到的数据 ,中文还是乱码!
网上查询了下,说在 连接数据库的地方 加入 Charset=utf8
例如:
server=localhost;database=b2bdata;uid=root;pwd=123456;Charset=utf8
测试了以下依然是乱码 ,换成gb2312 也不行。。
后来又在网上看到一篇,在查询数据的地方加入 set names utf8
例如:
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; } }