亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決java oracle中文亂碼的方法

發布時間:2020-08-18 10:06:59 來源:億速云 閱讀:619 作者:小新 欄目:編程語言

這篇文章主要介紹了解決java oracle中文亂碼的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

java oracle中文亂碼的解決方法:1、將讀到的字符串s,則進行純手工轉碼,代碼為【new String(s.getByte(A), B)】;2、使用druid對各種數據庫驅動做了一層統一的封裝,編碼轉換。

解決java oracle中文亂碼的方法

java oracle中文亂碼的解決方法:

轉碼方法

當Java讀Oracle遇到中文亂碼時,我們就需要進行轉碼。轉碼的方法很多,我接觸過的有以下幾種。

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)

3、weblade ibatis callback

它采用了如下注冊ibatis callback的方式。

<bean id="sqlMapExecutorDelegate"
class="com.asc.alibaba.dao.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate">
<property name="mappedStatementStrategy" ref="mappedStatementStrategy" />
<property name="handlerList">
<list>
<ref bean="stringHandler" />
<!-- <ref bean="objectHandler" />-->
</list>
</property>
</bean>
<bean id="stringHandler" class="com.asc.alibaba.dao.ibatis.handler.TypeHandlerAdapter">
<property name="javaType" value="java.lang.String" />
<property name="handlerCallback" ref="stringTypeHandlerCallback" />
</bean>

使得在默認情況下,程序會把ibatis獲取到的String進行如下編碼轉換:

new String(s.getByte(“ISO-8859-1”), “GBK”)

該二方庫引入的方式如下:

<dependency>
<groupId>com.alibaba.asc.shared</groupId>
<artifactId>weblade.core.ibatisext</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>

Ibatis callback隱藏了編碼轉換的過程,但問題是它對項目中所有的數據源生效。使得無法同時透明地支持需要轉碼和無需轉碼的數據源。

感謝你能夠認真閱讀完這篇文章,希望小編分享解決java oracle中文亂碼的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嵊泗县| 舞钢市| 临武县| 沙雅县| 巢湖市| 太湖县| 深水埗区| 阿拉善右旗| 环江| 兴仁县| 建宁县| 宁明县| 新巴尔虎左旗| 漳平市| 永仁县| 宁强县| 柘荣县| 定边县| 荥阳市| 张掖市| 桃园市| 衡东县| 仪陇县| 交口县| 清徐县| 宜兴市| 贵阳市| 浦东新区| 明星| 清原| 江川县| 思茅市| 望城县| 杭州市| 吉木乃县| 宜良县| 南陵县| 和平区| 建水县| 启东市| 临邑县|