Oracle資料庫Clob轉化String亂碼問題
阿新 • • 發佈:2018-11-13
1.常規轉化
/** * 將Clob型別轉換為String型別 * * @param clob 存放內容的變數 * @return 返回Clob型別的String型別內容. * @author xc */ public static String changeClobToString(Clob clob) throws Exception, SQLException { BufferedInputStream bi = new BufferedInputStream(clob.getAsciiStream()); int len = (int) clob.length(); byte[] by = new byte[len]; int i; while (-1 != (i = bi.read(by, 0, by.length))) { bi.read(by, 0, i); } String clobValue = new String(by); bi.close(); return clobValue; } 問題:這裡我發現用到這個之後,相反拿到的資料變成亂碼. 解決:直接將資料庫獲得Clob型別的資料進行 String content=clob.getSubString((long)1,(int)clob.length()); 也就是不用寫什麼Util,一步搞定. 當然,在我的專案中是這樣.