一、Oracle數據庫是GBK編碼導入到UTF-8的mysql數據庫出現亂碼
Oracle數據庫有一套自己的編碼方法,當客戶端和數據庫編碼不一致時會自動轉換編碼方式;客戶端獲取數據時Oracle會自動將GBK轉為UTF-8,因此,需要在Mysql的url上設置編碼為UTF-8保持和mysql的一直即可。
二、Oracle數據庫date類型數據導入到mysql后相差14小時
原因:Oracle數據庫查詢時區是+8:00,也即是東8區時間;而mysql驅動mysql-connector-java-6.0.4.jar中會自動獲取mysql數據庫設置的時區,然后根據mysql數據庫設置的時區進行日期轉化;經查詢發現mysql數據庫的時區是CST,也就是美國時間;因此,需要將mysql的時區設置為東8:00區即可。
show variables like ‘%time_zone%’,發現system_time_zone項果然是CST。
解決方法:
修改一下mysql的時區設置即可。
set global time_zone='+800'; flush privileges;
然后,重新將oracle數據同步到mysql數據庫,日期時間一致了。