急问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。
问题点数:25、回复次数:8Top
1 楼wobensuren(丑得杀死你)回复于 2002-01-26 20:53:42 得分 3
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;
}
}
这是个内码转换函数 每次调用就可以了 我经常用这个的 没有问题!!记得给分 !!
Top
2 楼chenzhenmin()回复于 2002-01-26 21:12:14 得分 0
楼上的兄弟,不行啊!!!
我刚刚用你的方法试了,但是还是不行,(中文显示成几个问号)。实际上,今天我已经试过n遍了,但是还是不行,是不是跟其他配置有关啊???
Top
3 楼wobensuren(丑得杀死你)回复于 2002-01-26 21:47:39 得分 5
有可能 你回去检查一下 我用了没有问题!Top
4 楼Fancy_fan(阿水)回复于 2002-01-27 09:46:54 得分 2
仔细看看string类的方法,你对string类应该研究研究!Top
5 楼fandiy(龙霄溪舞)回复于 2002-01-27 11:15:20 得分 5
你用的windows2000开发环境,往数据库插入数据的时候,转码调用wobensuren(俗人)的方法,查处数据的时候,不用转码,但是页面加上<%@ page contentType="text/html;charset=gb2312"%>Top
6 楼learn_0(学习)回复于 2002-01-27 17:32:50 得分 5
String XXX = new String(rs.getString(1).getBytes(),"GBK");
在输出时指定输出格式为gb2312(或是gbk即可)Top
7 楼xbt(xbt)回复于 2002-01-28 19:41:09 得分 5
JSP页面上加上
<%@ page contentType="text/html;charset=gb2312" %>
如果你的JSP页面的ACTION指向的是另一个JSP页面
那个JSP页面也要加上这一句:)
Top
8 楼chenzhenmin()回复于 2002-03-14 23:28:27 得分 0
问题解决了,是由于orale jdbc 8.16驱动程序bug造成的,要下载8.17才行。大家下载的时候要小心一点哦!!Top




