日期:2014-05-20  浏览次数:20811 次

jdbc读取clob乱码问题
最近写程序出现了jdbc读clob数据时出现了乱码,请大家帮忙分析。谢谢。CLOB在ORACLE里是正常的汉字,但是到程序里读完后,就是乱码。

		BufferedReader reader = null;
PreparedStatement ps = conn.prepareStatement(sql);
System.out.println(sql);
rs = ps.executeQuery();
if (rs != null && rs.next()) {
Clob clob = rs.getClob("req_msg");// java.sql.Clob类型
reader = new BufferedReader(new InputStreamReader(clob
.getAsciiStream()));
String line = null;
StringBuffer req = new StringBuffer();
while ((line = reader.readLine()) != null) {
req.append(line);
}

------解决方案--------------------
reader = new BufferedReader(new InputStreamReader(clob
.getAsciiStream(),"gbk"));
加上字符集看看