LinQ to EF插入Mysql数据乱码如何解决?

问题描述

代码片段: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

LinQ to EF插入Mysql数据乱码如何解决?的相关文章

PHP通过插入mysql数据来实现多机互锁实例_php技巧

本文实例讲述了PHP通过插入mysql数据来实现多机互锁的方法,分享给大家供大家参考.具体实现方法如下: 在执行流程之前可以加一般锁,shell枷锁函数如下,如果成功则会返回0,否则返回非0值: 复制代码 代码如下: function get_lock() {     local dataId="${1}"     local dataDate="${2}"     local sql="insert intot_trans_lock     (dataI

【技术贴】java插入mysql中文乱码解决|java插入mysql数据库显示问号?

[技术贴]java插入mysql中文乱码解决|java插入mysql数据库显示问号?   在你要连接到mysql 的代码里写上?useUnicode=true&characterEncoding=UTF-8" 比如 "jdbc:mysql://localhost:3306/chenluancl1?useUnicode=true&characterEncoding=UTF-8", "root","密码"

java语言 play framework插入Mysql数据主键名不为id 如何处理?

问题描述 java语言 play framework插入Mysql数据主键名不为id 如何处理? java语言 play framework插入Mysql数据主键名不为id 如何处理?因为这个框架对数据库主键有要求,主键名必须叫 id,否者不能做添加数据的操作.求大神帮忙 解决方案 求大神啊啊啊 自己先顶一下 解决方案二: 你用orm是什么啊?你说的不够清楚

mysql出现乱码怎么解决

问题描述 mysql出现乱码怎么解决..如:Image??oks??oks_01.gif 解决方案 解决方案二:又是乱码问题~参考一下:解决方案三:记住一个原则,每处编码保持一致肯定不会出现乱码.解决方案四:把你的开发工具所有编码都设置一致就不会遇见这种情况了

MySQL中文乱码怎么解决啊???????

问题描述 MySQL中文乱码怎么解决啊??????? 解决方案 解决方案二:配置字符集时选择utf8解决方案三:my.ini文件中改default-character-set=utf-8解决方案四:使用mySql-front工具吧,察看数据库时,可以设置使用的编码方式(指定gb2312),就Ok了.解决方案五:配置字符集时选择UTF-8解决方案六:先配置数据库的字符集是gb2312,如果你是web开发,注意检查写入数据库的时候中文是否已经乱码了...解决方案七:setCharacterEncod

HIVE再次尝试 用 Mysql 环境搭建 以及 mysql中文乱码完美解决

上文说道hive用默认的Derby作为metadata的存放处,但是这个缺点比较多,只能同时让一个用户登陆,重启机器后建的表也没了,不能用于真正的集群,下面讲解用mysql作为数据的搭建方法. 1. hive安装 第一步:安装mysql 因为我用的是ubuntu系统,安装比较简单,一行命令搞定 sudo apt-get install mysql-server 这里顺便说下mysql的数据文件放在/var/lib/mysql目录下,配置文件放在:/etc/mysql目录下 对于mysql5.5版

PHP读MYSQL中文乱码的解决方法_php技巧

打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题. 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题. 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用

快速解决PHP+MYSQL 出现乱码的解决方法

在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:  代码如下 复制代码 1 $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); 2 mysql_query("SET NAMES 'GBK'"); 数据库字符集为utf-8 连接语句用这个    代码如下 复制代码 1 mysql_que

使用php 5时MySQL返回乱码的解决办法

在使用 PHP 5 中,通过 MySQL 查询得到的值全部成为 '???????',原来是字符集设错了. 我在安装 MySQL 5 时,已经选择默认字符集为 gb2312,但还是返回乱码,解决的办法是在连接 MySQL 服务器后,调用一个与所设字符集相同的 "set names X" 语句(X 为你所设的字符集).下面是我的连接函数: function sql_connect() { global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $