blob读取转码
String sqlString = "select CAST(" + clobFieldName + " AS CHAR(10000) CHARACTER SET utf8) from " + tableName+" where " + pkName +" ='" + pkValue + "'"; ps = conn.prepareStatement(sqlString); rs = ps.executeQuery();blob流读取
String sqlString = "select " + clobFieldName + " from " + tableName+" where " + pkName +" ='" + pkValue + "'"; ps = conn.prepareStatement(sqlString); rs = ps.executeQuery(); Blob b = (Blob)rs.getBlob(1); <span style="white-space:pre"> </span> InputStream is = b.getBinaryStream(); ByteArrayInputStream bais = (ByteArrayInputStream)is; byte[] byte_data = new byte[bais.available()]; //bais.available()返回此输入流的字节数 bais.read(byte_data, 0,byte_data.length);//将输入流中的内容读到指定的数组 String s; try { s = new String(byte_data,"utf-8"); } catch (UnsupportedEncodingException e) { <span style="white-space:pre"> </span>// TODO Auto-generated catch block <span style="white-space:pre"> </span>e.printStackTrace(); } //再转为String,并使用指定的编码方式