java执行的sql有中文,获取不了记录
数据库:Mysql5.1, default-character-set 为 gb2312
tomcat: 版本5.5,没设置过任何跟encoding有关的东西。
在JSP上调用javaBean时,java程序中执行
select count(*) from gzl_table_memo where blr like '%陈琳%' or blr='陈琳' 这种含有中文的SQL语句,实际上DB是有9条记录的,但在java中执行显示0条记录,这条SQL在tomcat控制台显示也没有问题。
把SQL语句的条件改为不含中文的时候,显示的记录数又是正常的,我觉得是中文的意思,但不知在哪个关节上出问题,所以不知从哪里下手。
谢谢各位指点。
------解决方案--------------------编码问题,你用java程序执行的sql可能乱码了。所以查不出记录
------解决方案--------------------你的sql等同于
select count(*) from gzl_table_memo where blr like '%陈琳%'
就我看来,应该是编码问题
------解决方案--------------------你的url修改下加上编码,比如:
jdbc:mysql://192.168.8.4:3306/iplugserver?characterEncoding=gb2312
所有地方的编码都要统一。编码不统一就会出问题。