求救,为什么输出后是乱码?

javaclover 2008-10-16 03:01:33
package com.oracle.li;

import java.sql.*;

import oracle.jdbc.driver.OracleTypes;

public class GetSurnamesArray {

/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {

Connection conn=null;

try {
Class.forName("oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection("jdbc:oracle:thin:scott/tiger@localhost:1521:orcl");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
CallableStatement callFunction = conn.prepareCall("{? = call get_all_surnames()}");

callFunction.registerOutParameter(1, OracleTypes.ARRAY,"ARRAY_OF_SURNAME");

callFunction.execute();

Array outputArray = callFunction.getArray(1);

Object[] enames=(Object[])outputArray.getArray();

for(int i=0;i<enames.length;i++)
System.out.println("Ename#"+i+" is "+enames[i]);

callFunction.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(-1);
}finally{
conn.close();
}
}

}
用的表就是Oracle Scott用户下的EMP表,PL/SQL函数已经测试没有问题,可以正常输出,但是当在java里输出的时候enames数组的内容全部变成了???
Ename#0 is ???
Ename#1 is ???
Ename#2 is ???
Ename#3 is ???
Ename#4 is ???
Ename#5 is ???
Ename#6 is ???
Ename#7 is ???
Ename#8 is ???
Ename#9 is ???
Ename#10 is ???
Ename#11 is ???
Ename#12 is ???
Ename#13 is ???
请大家指点下!!
谢谢~~
...全文
82 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ol_soft 2008-10-19
  • 打赏
  • 举报
回复
可能时数据库里面的内容就是乱码
aiwenoyo 2008-10-19
  • 打赏
  • 举报
回复
是不是在DriverManager.getConnection("jdbc:oracle:thin:scott/tiger@localhost:1521:orcl");
加上编码啊?、
emperorsky 2008-10-18
  • 打赏
  • 举报
回复
数据库的数据是英文还是中文的呀? 我个人觉得应该是编码的问题。 我以前也遇到过这个问题。但我用的是SQL Server。我把编码转成GBK或GB2312就好了
javaclover 2008-10-17
  • 打赏
  • 举报
回复
数据库里的数据都是英文的呀,ECLIPSE里用了gbk和UTF-8都不行,是要改数据库的码么?
nqyfeng 2008-10-17
  • 打赏
  • 举报
回复
转个码看看怎么样

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧