JSP读取ORACLE数据乱码有关问题

JSP读取ORACLE数据乱码问题
在从oracle数据库中读取数据时出现乱码,但是通过pl/sql developer查询正常。具体情况如下:
jsp,页面编码:gb2312
oracle编码:us7ascii
使用过滤器进行编码转换,request.setCharacterEncoding(gb2312),能够使传参时编码转换成中文,但是从数据库中读来的中文却显示为乱码。
如果不使用过滤器,且去掉jsp页面中page指令的charset=gb2312这句话,中文却能正常显示,很是疑惑。
现在我使用的办法每次把从数据库中取来的数据进行String(s.getBytes("ISO8859-1"), "gb2312")转换,但是这样做很麻烦,想着能不能编写个过滤器之类,把每次从数据库取来的数据进行编码转换?

------解决方案--------------------
还是用utf-8吧,gb2312很多字显示不了,乱码,字符集包含的汉字太少了...