今天早上,在调试代码的时候发现,当我把考生信息更新之后,没法再次查询。
于是,细心查了一下。
备注:我是用JDBC方式实现数据IO。
更新的SQL语句也很平常,如下:
UPDATE student SET question='岁月虫虫人生几何',answer='26',profession='通信工程专业' where ID='KN2015102609'
我觉得应该是mysql的驱动没有配置字符集的问题。由于我的数据库编码定义的是UTF-8,于是在驱动URI后面加了一条UTF-8的设置:
jdbc:mysql://localhost:3306/gexam?characterEncoding=UTF-8
接着又试了一下,还是乱码。
纳闷了一段时间,后来想想是不是因为JAVA文件编码不是utf-8的原因呢?
查看了一下,是GBK的。
于是,将驱动的编码改成了GBK,如下
jdbc:mysql://localhost:3306/gyzxexam?characterEncoding=GBK
又试了下,问题解决!
祝贺成功。