1. 程式人生 > >Oracle資料庫Clob轉化String亂碼問題

Oracle資料庫Clob轉化String亂碼問題

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,一步搞定. 當然,在我的專案中是這樣.