亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 java jdbc 從 Oracle 中的 Clob 字段獲取錯誤字符

使用 java jdbc 從 Oracle 中的 Clob 字段獲取錯誤字符

慕斯709654 2023-05-10 15:02:56
我正在嘗試使用 jdbc java 從 Oracle 表中獲取一個 clob 字段并將其寫入文件,但有些字符寫錯了。public static void main(String[] args) {    Connection conn = null;    PreparedStatement ps = null;    ResultSet rs = null;    InputStreamReader st = null;     Writer wr = null;    try {          conn = DataSource.getConnection("URL", "USER", "PASS");                      ps = conn.prepareStatement("select fieldClob from tableTest");                           rs = ps.executeQuery();          while(rs.next()) {             oracle.sql.CLOB clob = (CLOB)rs.getObject("fieldClob");             st = new InputStreamReader(clob.getAsciiStream(),Charset.forName("UTF-8"));                               int intValueOfChar;             StringBuilder buffer = new StringBuilder();             while ((intValueOfChar = st.read()) != -1) {                                         buffer.append((char) intValueOfChar);                                }              wr = new FileWriter("C:/test/file.xml");              wr.write(buffer.toString());                          }    } catch (Exception e) {        // TODO Auto-generated catch block        e.printStackTrace();    } finally {        CloseObject.closeObject(rs);        CloseObject.closeObject(ps);        CloseObject.closeObject(conn);    }}}我想得到“ü”但我得到“[xBF]”或者我得到“?” 嘗試 UTF-8 字符集。
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

更改了 Writer 并添加了對 UTF8 的支持:

Writer?fstream?=?new?OutputStreamWriter(new?FileOutputStream(mergedFile),?StandardCharsets.UTF_8);
查看完整回答
反對 回復 2023-05-10
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號