标签:
1.最近因为写J2EE版本的书店管理系统,碰到了模糊查询的问题;因为我查询的关键字是中文,导致刚开始出现了很多问题;ResultSet rs-> 比如: select * from book where bookName = ‘操作系统‘;明明这条语句是可以在mysql数据库中查到的,但是 rs.next()却始终未false;这很奇怪,我唯一能想到的原因就是中文乱码问题;果然经过查阅资料;找到了解决方法;
就是你在写URL时要加上编码的格式: ->this.URL = "jdbc:mysql://localhost:3306/bookshopping?characterEncoding=utf8"; 这个URL就是 ct = DriverManager.getConnection(URL, USER, PASSWORD);相信不用我多说.这样就可以正常的使用中文查询语句了;
2.解决模糊查询的问题;
模糊查询语句一般为:select * from book where bookName like ‘%操作系统%‘;但是如果真的这样写的话,是绝对查不出来的,而且会报错(具体报错的内容我就不说明了);那么解决方式就是:使用通配符?
select * from book where bookName like ?;
然后使用prepareStatement 的setString方法;
比如:
String str = "操作系统";
ps.setString(1,"%" + str +"%");就可以解决了
jdbc 模糊查询和prepareStatement中文乱码解决方案
标签:
原文地址:http://blog.csdn.net/u011257298/article/details/46476955