急问jdbc连oracle数据库的中文乱码问题!

我设计一个jsp网页,在网页中用jdbc连oracle,在jsp页面设了charset="gb2312",在jbuilder上网页的中文显示正常,但是通过jdbc取出来的中文显示为乱码,请问用什么办法使从数据库中取出的中文正确显示?
主要代码如下:
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mydb","system","manager");
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("select * from table1");
println(rs.getString("column1")); //显示乱码
请问解决办法??必定给分!(虽然很少:)
环境:win2000平台,oracle 8i。
[592 byte] By [chenzhenmin] at [2008-5-27]
# 1
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859_1");
String temp=new String(temp_t);
return temp;
}
catch (Exception e)
{
return null;
}
}
这是个内码转换函数 每次调用就可以了 我经常用这个的 没有问题!记得给分 !
# 2
楼上的兄弟,不行啊!!
我刚刚用你的方法试了,但是还是不行,(中文显示成几个问号)。实际上,今天我已经试过n遍了,但是还是不行,是不是跟其他配置有关啊???
chenzhenmin at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 3
有可能 你回去检查一下 我用了没有问题!
# 4
仔细看看string类的方法,你对string类应该研究研究!
Fancy_fan-阿水 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 5
你用的windows2000开发环境,往数据库插入数据的时候,转码调用wobensuren(俗人)的方法,查处数据的时候,不用转码,但是页面加上<%@ page contentType="text/html;charset=gb2312"%>
fandiy-龙霄溪舞 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 6
String XXX = new String(rs.getString(1).getBytes(),"GBK");
在输出时指定输出格式为gb2312(或是gbk即可)
learn_0-学习 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 7
JSP页面上加上
<%@ page contentType="text/html;charset=gb2312" %>

如果你的JSP页面的ACTION指向的是另一个JSP页面
那个JSP页面也要加上这一句:)
xbt-xbt at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 8
问题解决了,是由于orale jdbc 8.16驱动程序bug造成的,要下载8.17才行。大家下载的时候要小心一点哦!
chenzhenmin at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...