[size=large][/size][size=large][/size]//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 |
+--------------------------+--------+
都搞一天了,真不知道该怎么办了
那就是编码问题了 整个项目全部统一成utf-8
最好写个过滤器吧
ResultSet rs = ps.executeQuery();
结果集rs有数据吗?
打印出来看一下呗
有异常吗?
试试没有查询条件的时候SELECT * FROM file 行不行
数据库的数据有没有中文乱码?
dubug一下 很容易把问题找出来的
加油
环境问题.. 中文变成了乱码 和语句没有关系.
当然不会报错了.
肯定是编码问题. 你试着存一条数据试试 看看是不是存的乱码.