mysql中文查询得不到结果

问题描述

[/size][size=large]//String sql = "select * from file where name LIKE BINARY '%"+name+"%'";String sql = "SELECT * FROM file WHERE locate(name,'"+name+"') > 0;" ;//String sql = "select path from file where name like '%"+name+"%'";//String sql= "SELECT * FROM file WHERE locate(name,'"+name+"') > 0";//String sql = "select path from file where name LIKE '%"+name+"%'";//String sql = "select path from file where name LIKE ?";// SELECT * FROM table_name WHERE field_name LIKE BINARY '%了%';PreparedStatement ps = con.prepareStatement(sql);//ps.setString(1, "%"+name+"%"); ResultSet rs = ps.executeQuery();System.out.println(sql);以上sql语句我都试过,都得不到值;可是控制台打印出来的sql语句,我粘贴到cmd上运行,可以得到结果;运行 show variables like 'character_set_%';显示 +--------------------------+--------+| Variable_name | Value |+--------------------------+--------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_results | utf8 || character_set_server | latin1 || character_set_system | utf8 |+--------------------------+--------+都搞一天了,真不知道该怎么办了 问题补充:fjhh 写道

解决方案

那就是编码问题了 整个项目全部统一成utf-8最好写个过滤器吧
解决方案二:
环境问题.. 中文变成了乱码 和语句没有关系.当然不会报错了.肯定是编码问题. 你试着存一条数据试试 看看是不是存的乱码.
解决方案三:
试试没有查询条件的时候SELECT * FROM file 行不行数据库的数据有没有中文乱码?dubug一下 很容易把问题找出来的加油
解决方案四:
ResultSet rs = ps.executeQuery(); 结果集rs有数据吗?打印出来看一下呗有异常吗?

时间: 2016-01-01
Tags: 数据库, mysql

mysql中文查询得不到结果的相关文章

mysql中文查询时的字符集匹配问题解决方法

我在写一个查询条件时的问题如下: 如我想写一个字段中包含"李"字的所有记录 ?$str="李"; select * from table where field like ''%?$str%'' ; 显示的记录中除了包含"李"字的记录,还有不包含"李"字的记录.为什么? 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的.这种情况在MySQL的很多版本中都存在.如果这个问题不解决,那么MySQL将无法实际

为什么我的 Mysql 不支持中文查询

mysql|中文 Q: 我在写一个查询条件时的问题如下: 如我想写一个字段中包含"李"字的所有记录 $str="李"; select * from table where field like '%$str%' ; 显示的记录中除了包含"李"字的记录,还有不包含"李"字的记录.为什么? A: 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的.这种情况在MySQL的很多版本中都存在.如果这个问题不解决,那

mysql怎么查询出现次数最多的中文词

问题描述 mysql怎么查询出现次数最多的中文词 自己一直无法解决.想做到查询出,出现最多的中文词汇.这样sql语句应该怎么写group by好像不支持中文吧 解决方案 先要做分词,然后根据分词建倒排索引,然后才能查询.http://bbs.chinaunix.net/thread-3635228-1-1.html

php-PHP无法在MySQL中查询中文数据

问题描述 PHP无法在MySQL中查询中文数据 跪求大神来回答!我的PHP脚本已经实现了MySQL数据库的链接.但是发现在HTML页面上输入中文查询,显示的是数据库中没有这个信息. 但其实我的MySQL里面有这条中文数据的.网上说的设置utf8,gbkgb2312我都试过了,也没有用. 我的并不是说页面显示中文乱码,而是数据库中无法执行查询中文这一操作.希望大神能帮个忙! 解决方案 $inputData = iconv(""GB2312""UTF-8"&q

c#-C#操作mysql数据库 不支持中文查询

问题描述 C#操作mysql数据库 不支持中文查询 例如 select * from testdata where name='张2Q' 在navicat里面运行很正常 ,结果很正确 但是在C#里面执行,死活没有结果.如果换成select * from testdata where name='ss' 这两个的结果都对,这是为什么呀?找来找去发现就是因为C#查询的时候不支持中文,怎么解决呀?大神们帮帮忙. 解决方案 统一用utf8等编码试试. 解决方案二: C#查询支持中文的,你看看是不是你数据

服务器-hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到

问题描述 hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到 用hibernate做模糊查询,页面传递参数也处理了乱码 @Action(value="searchNameByad") public String searchNameByad()throws Exception{ System.out.println("android发送请求获取的参数是:"+buildingname); //解决乱码问题 String bn = new Str

Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办_java

项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空. 由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码. try { realName = new String(realName.getBytes("GBK"), "UTF-8"); } catch (UnsupportedEncodingException exce

PHP+MYSQL中文乱码问题

  这篇文章主要汇总介绍了几种解决PHP+MYSQL中文乱码问题的方法,十分的实用,有需要的小伙伴可以参考下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行. 解决这个问题其实很简单. 1.在建表的时候设置编码类型为gb2312_chinese_ci. 2.在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如 ? 1 2 3 4 5 6 7 8 9 10 $db_ho

MySQL中文参考手册3(MySQL邮件列表及如何提问或报告错误)

mysql|参考|参考手册|错误|邮件列表|中文 MySQL中文参考手册3(MySQL邮件列表及如何提问或报告错误)转载 译者:晏子 [返回][转发] 译者:晏子 (clyan@sohu.com)主页:http://linuxdb.yeah.net 2 MySQL邮件列表及如何提问或报告错误2.1  MySQL 邮件列表要订阅主 MySQL 邮件列表,送一条消息到电子邮件地址 mysql-subscribe@lists.mysql.com . 要退订主 MySQL 邮件列表,送一条消息到电子邮件