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语句的条件改为不含中文的时候,显示的记录数又是正常的,我觉得是中文的意思,但不知在哪个关节上出问题,所以不知从哪里下手。
谢谢各位指点。
------最佳解决方案-------------------- 你的url修改下加上编码,比如:
jdbc:mysql://192.168.8.4:3306/iplugserver?characterEncoding=gb2312
所有地方的编码都要统一。编码不统一就会出问题。
------其他解决方案-------------------- 编码问题,你用java程序执行的sql可能乱码了。所以查不出记录
------其他解决方案-------------------- 你的sql等同于
select count(*) from gzl_table_memo where blr like '%陈琳%'
就我看来,应该是编码问题
------其他解决方案-------------------- 引用: 编码问题,你用java程序执行的sql可能乱码了。所以查不出记录
但是在tomcat后面显示是没问题的呀。中文都显示得好好的。
------其他解决方案-------------------- 引用: 你的url修改下加上编码,比如:
jdbc:mysql://192.168.8.4:3306/iplugserver?characterEncoding=gb2312
所有地方的编码都要统一。编码不统一就会出问题。
Yes, 要的就是这个答案,感谢各位的热心解答,可以结帖了。
------其他解决方案-------------------- 楼主太给力了,解决了我的问题 感激万分啊