EF TO MYSQL 无法查询中文的解决方法

ef dbfirst 连接mysql 5.7版本

起初,连edmx都无法生成

报错 Entity : The value for column ‘IsPrimaryKey‘ in table

‘TableDetails‘ is DBNull

解决方法,对应的数据库运行

在5.7中,由于采用了新的优化方式,我们需要使用 set optimizer_switch=’derived_merge=off’来禁止derived table合并到外层的Query中。

set global optimizer_switch=‘derived_merge=off‘;

set optimizer_switch=‘derived_merge=off‘;

全部搞定后

查询出问题了

查询条件加英文没问题

中文查询不出

折腾了半天

原来需要加上charset=utf8;

解决.

时间: 2024-08-26 12:14:37

EF TO MYSQL 无法查询中文的解决方法的相关文章

Ubuntu系统 MySQL无法存储中文的解决方法

Ubuntu系统 MySQL无法存储中文的解决方法 原因 默认情况下MySQL是不能存储中文的,不能显示汉字就是因为character_set_database 的Value值为latin1. 解决方法: 1.打开终端(Ctrl + Alt + T),在超级用户模式下输入以下命令进入文件编辑: sudo vi /etc/mysql/my.cnf 对[my.cnf]文件进行编辑,输入以下语句,保存并退出: [client] default-character-set=utf8 [mysqld] d

[转]mysql导出导入中文表解决方法

在开发过程中会经常用到mysql导出导入中文表,本文将详细介绍其如何使用,需要的朋友可以参考下. 在开发过程中会经常用到mysql导出导入中文表,本文将详细介绍其如何使用,需要的朋友可以参考下一.先针对utf8导出: (1)导出源数据库的所有表: 代码如下: mysqldump -u root -p密码 --socket=mysql.sock --default-character-set=utf8 --set-charset=utf8 --hex-blob --databases 数据库名 >

mysql使用utf8中文乱码解决方法

最近,我在做一个项目的部署,这个项目是已nginx为前端代理两个tomcat的节点,通过mysql-proxy代理访问两台主从的mysql数据库. 整个项目搭建部署完成,进行测试,发现打开网页出现中文乱码.好吧,我进行修改. 开始以为是mysql数据库配置有问题,查看mysql的配置文件my.conf,内容如下: [mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql skip-character-set-

mysql 中文乱码解决方法

最近在.NET 项目中用EF连接mysql,插入中文数据时老是显示乱码,在创建表时都已将编码指定了,但是还是出现乱码,折腾了一阵子才发现在连接字符串里面也要加上指定编码 Character Set=utf8(server=XXXXX;user id=XXXX;password=XXXXX;Character Set=utf8;database=XXXXX) 这样再次运行程序插入数据将不会在出现中文乱码的情况 在Java项目中同样如此,如果连接字符串中不加入指定编码的话,插入中文数据就会出现乱码

EF 连接MySQL 数据库 ?保存中文数据后乱码问题

EF 连接MySQL 数据库  保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的图),否则插入的数据,就会全部变成乱码 修改后可以正常插入数据(注意!!这里是直接用SQL 代码插入的数据) 之后用代码界面保存数据,如图 但数据中却变成乱码: 修改方法: 在连接MySQL的连接字符串中,加入配置文件信息:Character Set=utf8  来自为知笔记(Wiz)

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys

Linux下Tomcat向MySQL插入数据中文乱码解决办法

Linux下Tomcat向MySQL插入数据中文乱码解决办法 一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一直接在linux上面使用insert语句插入中文,正常2.尝试二在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行3.尝试三在tomcat配置文件server.xml中再加入URIEncodin

关于MySQL的异常处理 Can't connect to MySQL server on localhost (10061)解决方法

首先检查MySQL 服务没有启动>如果没有启动,则要启动这个服务. 昨天,重起服务器后出现MySQL 'localhost' (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽的缘故,但是重启服务器以后,仍旧出现问题,于是在网上查找解决方法.大体如下: 解决办法: 第一步 删除c:\windows\下面的my.ini 第二步 打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码 第三步 在dos下 输入 mysqld-nt -remove 删除服

MySQL不支持事务处理的解决方法

MySQL不支持事务处理的解决方法 2014年07月07日23:20    百科369 MySQL不支持事务处理的解决方法 MySQL数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理. 在MySQL中,只有InnoDB存储引擎类型的数据表才能支持事务处理. 因此,如果想让MySQL支持事务处理,只要将数据表修改为InnoDB存储引擎类型即可.操作步骤如下: 1. 进入到phpMyAdmin主界面,在导航面板中选择要转换为InnoDB存储引擎类型的数据库,例如选择db_xue