MySQL查询不到中文的问题

在查询语句的where里,如果要查询包含中文的条件,总是查不到值,感觉是问题。

原来在连接字符串中增加“Character Set=utf8”

很早以前就用过Entity Framework 连接过mysql,那时并没有中文乱码问题。这次使用,数据库是utf8编码,按理说,也不应该乱码,可是很不幸,竟然乱码了。最终找到了解决方案:只需要在配置文件中,在连接字符串里加上 Character Set=utf8

多做一些补充:

1. MYSQL: 保证所有的的列都是UTF8格式.

2. VS2010: 在data server建立连接时,选择advance,将chracterset设成utf8,这样在VS2010里查看和更改MYSQL中的数据时,就不会因为不匹配而看到一大堆的乱码了.

3. Entity Framework:我们的页面是用EF去连接MYSQL的,这里面也要设置.

 a. 用一个DATASOURCE尝试建立一个连接,并把连接字符串保存在web.config中,和前面建立连接一样,将characterset设成utf8,之在web.config中可以检查一下,例如:   Character Set=utf8;database=map" providerName="MySql.Data.MySqlClient" />

b. 新建EF model时,会选择数据库连接,就选择1中所说的那个,这样就能保证网页显示,更改的中文能正确地被更新到MYSQL中去了.

时间: 2024-10-26 05:53:19

MySQL查询不到中文的问题的相关文章

Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办--转自http://www.jb51.net/article/88236.htm

这篇文章主要介绍了Mybatis使用MySQL模糊查询时输入中文检索不到结果的解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空. 由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码. ? 1 2 3 4 5 try { realName = new String(realNam

hibernate连接mysql,查询条件中有中文时,查询结果没有记录,而数据库有符合条件的记录(解决方法)

今天在另一台服务器上重新部署了网站,结果出现了以下问题: ——用hibernate做mysql的数据库连接时,当查询条件中有中文的时候,查询结果没有记录,而数据库中是存在符合条件的记录的. 测试了以下,发现不加条件查询可以查到,加上查询条件包含中文就无法找到记录. 百度发现,以下两篇文章很有帮助. http://gzxabcdefg.blog.163.com/blog/static/23451794201081554816892/ http://bbs.51cto.com/thread-1031

mysq查询语句包含中文以及中文乱码,字符集 GBK、GB2312、UTF8的区别

一.查看mysql 字符集设置情况 使用Navicat for Mysql查看工具,打开命令列界面,输入show variables like '%char%';如下图,查看当前mysql字符集设置情况 1.在查询结果中可以看到mysql 数据库系统中客户端.数据库连接.数据库.文件系统.查询结果.服务器.系统的字符集设置 2.在这里,文件系统字符集是固定的,系统.服务器的字符集在安装时确定,与乱码问题无关.乱码的问题与客户端.数据库连接.数据库.查询结果的字符集设置有关 *注:客户端是看访问m

mysql学习——mysql查询语句综合练习

练习一: 设有成绩表stu如下: 姓名 科目 成绩 张三 数学 90 张三 语文 50 张三 地理 40 李四 语文 55 李四 政治 45 王五 政治 30 王五 数学 70 试查询两门及两门以上不及格同学的平均分 解答如下 1.创建数据表 create table stu(id int primary key auto_increment,name char(3) not null default'',subject char(3) not null default'',score deci

mysql查询乱码解决方法

http://blog.csdn.net/u012408083/article/details/52734762 MySQL 命令行查询乱码 编码问题 当使用数据库工具查询数据时显示数据正常,中文也很正常,利用命令查询时,中文显示乱码 查看数据库状态: mysql> status; 发现客户端Client及连接Conn. characterset 均为utf8,说明是客户端显示有问题,因为mysql的客户端无法以utf-8的形式返回数据,设置客户端显示格式即可: mysql> set name

客户端cmd打开mysql,执行插入中文报错或插入中文乱码解决方案

最近在制作一个安装包,需要安装的时候执行mysql脚本儿,做了一个批处理,但是发现总是执行到 插入中文的时候报错,或者插入中文是乱码. 网上查了好多资料,说是把编码改成GBK什么的,终究还是不成功. 最后经过多次测试,现把解决方案分享给大家. 第一步:打开mysql中的配置文件,my.ini,看一看配置文件中 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 看是不是这样配置的.因为utf8 是国际通用的,

MySQL 查询语句使用进阶

MySQL 查询语句使用进阶 =============================================================================== 概述: =============================================================================== 练习: 练习1  首先导入hellodb.sql的脚本文件,查询其数据库和表如下: [[email protected] ~]# mysql 

mysql查询练习

mysql> #查询每个栏目最贵的商品 mysql> select goods_id,shop_price,cat_id from (select goods_id,shop_price,cat_id from goods order by shop_price desc) as temp group by cat_id; +----------+------------+--------+ | goods_id | shop_price | cat_id | +----------+----

Mysql查询缓存碎片、缓存命中率及Nagios监控

Mysql 的优化方案,在互联网上可以查找到非常多资料,今天对Mysql缓存碎片和命中率作了详细了解,个人作了简单整理. 一.Mysql查询缓存碎片和缓存命中率. mysql> SHOW STATUS LIKE 'qcache%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | Qcache_free_blocks | 5 |