问题描述
代码片段:vardb=newEntities();varusername=txtLogin.Text;varres=db.users.Where((u)=>u.name==username);usercuruser;if(res.Count()>0){curuser=res.First();}else{curuser=newuser();curuser.name=username;curuser.appendix="";db.users.Add(curuser);db.SaveChanges();}
结果插入数据库的是若干个问号“???”(手动输入正常),该如何解决?
解决方案
解决方案二:
估计是eftomysql驱动的问题貌似记得是在连接字符串上面加上编码解决。
解决方案三:
这和EF没有关系howvariableslike'character%';来查看当前数据库的相关编码集。
解决方案四:
将默认编码default-character-set=utf8改为default-character-set=gbk,重新启动MySQL服务即可。
解决方案五:
引用3楼q107770540的回复:
将默认编码default-character-set=utf8改为default-character-set=gbk,重新启动MySQL服务即可。
能不能把Linq的编码改成utf8,因为我的数据库里面已经有很多数据了,不想破坏它我不用EF直接写sqlconnection是没有这样的问题的我看了一下LOG,是生成了SETSESSIONsql_mode="ANSI"
有没有办法把这一句去掉?
时间: 2024-10-26 20:23:06