问题描述
c#向Mysql中插入数据乱码。大家看一下代码。MySQLConnectionconn=null;conn=newMySQLConnection(newMySQLConnectionString("localhost","emarket","root","root").AsString);conn.Open();MySQLCommandcommn2=newMySQLCommand("setnamesgb2312",conn);commn2.ExecuteNonQuery();try{conn.Open();inti;i=dt.Rows.Count;intcount=0;for(intj=1;j<i;j++)//循环插入数据库的{stringGOODS_CODE;//商品编号stringGOODS_NAME;//商品名称GOODS_CODE=dt.Rows[j][0].ToString();GOODS_NAME=dt.Rows[j][1].ToString();stringinsertcmd1="insertintogoods(GOODS_CODE,GOODS_NAME)";insertcmd1=insertcmd1+"values('"+GOODS_CODE+"','"+GOODS_NAME+"')";//赋值写入数据库MySQLCommandcommn1=newMySQLCommand(insertcmd1,conn);commn1.ExecuteNonQuery();commn1.Dispose();在数据库里查看插入的数据是中文乱码?怎么办?Mysql为utf-8。
解决方案
解决方案二:
Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;你在数据库连接后面加上“Charset=utf8”就不会乱码了
解决方案三:
引用1楼jim646565的回复:
Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;你在数据库连接后面加上“Charset=utf8”就不会乱码了
这样写法怎么加conn=newMySQLConnection(newMySQLConnectionString("localhost","emarket","root","root").AsString);
解决方案四:
你不用参数构造通过属性来连接数据库不就完了...
解决方案五:
连接字符串里加~Charset=utf8;
解决方案六:
是呀...
解决方案七:
引用3楼jim646565的回复:
你不用参数构造通过属性来连接数据库不就完了...
老大,帮我写一下。我是超级菜鸟。
解决方案八:
conn=newMySQLConnection();conn.ConnectionString="Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;"晕倒...他的属性是不是这个我不太清楚你看下那个MySQLConnection的连接数据库的属性是哪个
解决方案九:
在连接字符串中加Charset=utf8就ok
解决方案十:
引用7楼jim646565的回复:
conn=newMySQLConnection();conn.ConnectionString="Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;"晕倒...他的属性是不是这个我不太清楚你看下那个MySQLConnection的连接数据库的属性是哪个
这个不行。
解决方案十一:
引用9楼friendly_2008的回复:
引用7楼jim646565的回复:conn=newMySQLConnection();conn.ConnectionString="Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;"晕倒...他的属性是不是这个我不太清楚你看下那个MySQLConnection的连接数据库的属性是哪个这个不行。
那你就这样吧MySQLConnectionconn=newMySQLConnection("Datasource=localhost;Database=simkbp;UserID=root;Password=123;Charset=utf8;");数据库用户名密码这些参数自己重新设下...
解决方案十二:
引用10楼jim646565的回复:
引用9楼friendly_2008的回复:引用7楼jim646565的回复:conn=newMySQLConnection();conn.ConnectionString="Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;"晕倒...他的属性是不是这个我不太清楚你看下那个MySQLConnection的连接数据库的属性是哪个这个不行。那你就这样吧MySQLConnectionconn=newMySQLConnection("Datasource=localhost;Database=simkbp;UserID=root;Password=123;Charset=utf8;");数据库用户名密码这些参数自己重新设下...
不支持这么写。用的MySQLDriverCS引用操作Mysql数据库的
解决方案十三:
那你看下有没哪个属性是连接数据库的
解决方案十四:
既然你的MySQL是UTF-8的字符集,已经支持中文,为什么你还要去改成GB2312呢?建议你把那句“setnamesgb2312”去掉试试。
解决方案十五:
引用9楼friendly_2008的回复:
引用7楼jim646565的回复:conn=newMySQLConnection();conn.ConnectionString="Server=LocalHost;Database=simkbp;UserID=root;Password=123;Charset=utf8;"晕倒...他的属性是不是这个我不太清楚你看下那个MySQLConnection的连接数据库的属性是哪个这个不行。
注意mysql的字符集要设置为gbk或者gb2312.看我的百度空间一篇文章有介绍:
解决方案:
OK,已经解决了,原来是没加“Charset=utf8”啊,哈哈哈,谢谢啦。