数据库是一个关于各种疾病的数据集,也不是很大,有4000多中疾病;假如我想查询'感冒'的时候,想找出所有包含关键字的选项,但是结果却显示不出来,
- Java code
sql = "SELECT * FROM diseaseinfo where binary Name like '%感冒%' " ; ResultSet rs = stmt.executeQuery(sql) ; String tt ; while(rs.next()) { tt = rs.getString(2) ; System.out.println(tt) ; }
结果控制台什么也不显示,但是如果我这样写:
- Java code
sql = "SELECT * FROM diseaseinfo where binary Name like '%s%' " ; ResultSet rs = stmt.executeQuery(sql) ; String tt ; while(rs.next()) { tt = rs.getString(2) ; System.out.println(tt) ; }
控制台却能将疾病数据集中所有包含S的全部显示出来。而且我在mysql中也都测试过,中英文都可以查询的,但是到eclipse与mysql连接后,select如果英文的可以显示,中文的就不显示。
------解决方案--------------------
字符集的问题吧,你mysql的字符集是utf-8还是gb2312啊?
还有你在mysql中执行
SELECT * FROM diseaseinfo where binary Name like '%感冒%'
是可以检索到记录的么?