個(gè)人使用kettle時(shí),在表輸入階段寫sql中使用case when帶有中文,但是預(yù)覽數(shù)據(jù)并沒有問題,經(jīng)過(guò)處理之后excel輸出就變成亂碼,直接入庫(kù)到oracle也是亂碼.
解決方法有二:
一.
1.修改資源庫(kù),在選項(xiàng)中加入characterEncoding=utf8(注意看當(dāng)初建庫(kù)用的是utf8還是utf-8之類的)
1.jpg
2.取消勾選表輸入的"允許簡(jiǎn)易轉(zhuǎn)換"
3.在目標(biāo)庫(kù)中的選項(xiàng)中也加入characterEncoding=utf8
二.
1.直接在spoon.bat中的這句話后面加入"-Dfile.encoding=utf8"(這種方法有可能會(huì)導(dǎo)致驅(qū)動(dòng)識(shí)別不了沒法連接數(shù)據(jù)庫(kù),具體原因未知)
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
2.勾選表輸入的"允許簡(jiǎn)易轉(zhuǎn)換"
3.在目標(biāo)庫(kù)中的選項(xiàng)中也加入characterEncoding=utf8