2016-09-20 76 views
0

我正在使用String變量來存儲ResultSet中的varchar值。問題是當我將這個值保存在我的應用程序中時。它不會顯示中文/韓文字符。我確定這個問題不在我的應用程序中呈現,因爲我能夠使用相同的代碼從Clob對象中查看這些字符。獲取varchar以保留unicode字符的首選方法是什麼?以下是可以輕鬆解釋問題的小片段。如何保留從java中的varchar值中提取的中文/韓文字符

Result resultSet = statment.getResultSet(); 
while(resultSet.hasNext(){ 
String userName = commentRS.getString(3); 
} 

回答

0

如果你覺得這事是從數據庫的CLOB Java的字符串編碼轉換過程中搞砸,那麼你可以嘗試使用此代碼來避免它:

String userName = new String(commentRS.getBytes(3), "UTF-8"); 

的想法是讓純流來自數據庫的字節,然後用所需的編碼創建一個字符串。

+0

我正在使用getBytes() –

+0

NPE我有varchar數據的問題。我能夠正確使用CLOB數據 –

+0

對不起,我的意思是varchar而不是CLOB。 至於這個問題很奇怪getBytes拋出NPE。也許這個問題是類似於這個[問題]中描述(https://stackoverflow.com/questions/4168494/resultset-getstring-on-varchar2-column-returns-empty-string) 我不是很熟悉Oracle數據庫,但據我記得,varchar實際上與varchar2在那裏是一樣的 – siarheib

相關問題