當Java讀Oracle遇到中文亂碼時,我們就需要進行轉碼。 (推薦:java影片教學)
轉碼方法:
1、純手轉碼
將讀到的字串s進行轉碼碼,如:new String(s.getByte(A), B)
2、Druid
druid是阿里巴巴自己開發的一個驅動,它其實是對各種資料庫驅動做了一層統一的封裝,加入日誌、警告、編碼轉換等功能。設定方式如下:
<bean id="opensqlDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.alibaba.china.jdbc.SimpleDriver" /> <property name="url" value="jdbc:oracle:thin:@10.20.130.210:1521:dwtest" /> <property name="username" value="etl" /> <property name="password" value="etl" /> <property name="connectionProperties"><value>serverEncoding=ISO-8859-1;clientEncoding=GBK;defaultRowPrefetch=50;bigStringTryClob=true</value></property> </bean>
其中connectionProperties中包含serverEncoding、clientEncoding兩個屬性。在Java讀取到資料後,如果發現serverEncoding、clientEncoding不同,則會自動進行以下編碼轉換。
new String(s.getByte(serverEncoding), clientEncoding)
更多java知識請關注java基礎教學欄位。
以上是java讀oracle亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!