当前位置: 代码迷 >> J2EE >> java施行的sql有中文,获取不了记录
  详细解决方案

java施行的sql有中文,获取不了记录

热度:10056   发布时间:2013-02-25 21:41:34.0
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

所有地方的编码都要统一。编码不统一就会出问题。
  相关解决方案