已经试过好多强制转化字符集,但是效果还是一样会乱码,希望解决此情况的人指教以下java代码:
import java.io.*;import oracle.jdbc.OracleResultSet;
import oracle.sql.BLOB;   
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;public class Read {

public String ReadDB(){
String result = "";
ConnectionProvider con = ConnectionProvider.getInstance();// 得到数据库连接
try { Connection connection = con.getConnection();
Statement st = connection.createStatement();
String sql = "Select freport from t_test t where t.fid=1"; OracleResultSet rs0 = (OracleResultSet) st.executeQuery(sql);
//rs0.next();
if (rs0.next())
{
BLOB lb_report = (BLOB) rs0.getBlob(1);
System.out.println(lb_report.length());

InputStream inStream = lb_report.getBinaryStream();  
byte[] data = new byte[(int)lb_report.length()];   

System.out.println(data.length);
        inStream.read(data);    
        inStream.close();  
        result =new String(data);
}

    System.out.println("result:"+result);

    
    
    con.close(connection, st, rs0);
    return result;
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("111"+e.toString());
}
return null;

}


}