我现在在开发一个WEB应用程序,java的,出现了一点问题。我使用的测试数据库使用AL32UTF8,java代码使用UTF8,系统(windows)设置为ZHS16CGB231280,这样我可以用toad连接数据库并正确取到数据,但是,通过代码查询却查询不到任何数据。(我认为是字符集问题的原因在于:原先使用toad也不能查询到任何数据,在注册表中将oracle/nls_lang设为ZHS16CGB231280后,通过toad就能够获取到数据了)
  后来,我将程序发布到另外一个环境(unix),就可以通过代码查询到数据,连接的数据库是一样的。请问,这个问题我应该怎么解决?

解决方案 »

  1.   

    使用相同的字符集。与oracle相同的
      

  2.   

    又看了一下,早上可能连错库了,测试数据库使用的也是utf8编码,我现在将系统的环境变量lang设为和另外一个环境一样为en_us,oracle客户端编码设为american_america.utf8,使其保与数据库服务器端编码保持一致。仍然还是没有查到数据。我使用的是websphere作为应用服务器,用ejb容器管理事务。我对测试数据库的很多其他表和视图都能查到信息,就对其中一个视图的数据可以通过toad查到,但是用java就是查不到。讲的有点乱,在网上查了一堆关于字符集的内容,还是没有找到解决方案,请高手指教。