查询第一条sql语句
select fi_gid,fs_name from tcugroup where  Fs_CreDep='302' and fs_name like '%????%';
查询第二条sql语句
select fi_gid,fs_name from tcugroup where  Fs_CreDep='302' and fs_name like '%手机银行%';问题如下:
 1.从页面传一个参数queryname的值,在java后台,获取这个参数是乱码的,
   应用程序根据第一条sql语句会返回结果集,第二条sql语句查询不到记录,没有返回结果集。
 2.第一条sql语句在informix数据查询是查找不到,第二条sql语句在informix数据库是查询得到的。
 3.项目用的是weblogic服务器。
 4.我在wind系统上部署应用程序,测试查询功能,日志打印出来的是第一条sql语句,有返回结果
 5.我在liunx系统上部署的应用程序,测试查询功能,日志打印出来的是第一条sql语句,有返回结果
 6.在生产的liunx系统上部署的应用程序,查询功能,日志打印出来的是第二条sql语句,没有返回结果
 
  这是什么问题,跟weblogic服务器有关,还是跟系统有关了。要怎么解决呢?java编码

解决方案 »

  1.   

    最好是检查下你的各个系统上的数据库文件设置的字符集还有java代码中的字符集,大部分情况是字符集不一样才会出这样的问题。比如,如果是mysql的数据库,即使你数据库设置的是gbk或是utf_8,java代码里也和数据库设置的一样,但是linux系统的字符集可能和这两个地方不一样,这个问题以前碰到过太多了。仔细检查下,linux的字符集。
      

  2.   

        你说检查liunx系统的字符集,是它的.bash_profile这个文件吗?
      

  3.   

    定位到weblogic服务器,或者liunx系统的问题。但是不清楚怎么解决
      

  4.   

    那里有问题,debug一下,在解决
      

  5.   

    各个地方只要与字符集有关的都仔细检查下,Linux的字符集就那么几个命令、你设置下就应该没问题了,还有数据文件中字符集也看下,手机编辑太费事,我以前碰到过的解决办法是先Linux、然后java代码、最后数据库,其他数据库忘了是哪个文件、如果是mysql、如果没记错、那就应该是mysql.ini这个文件、打开改下里面的字符编码、好像默认都是gbk如果还解决不了、那就太神奇了、我也没碰到过。