原文:http://www.ukettle.org/thread-607-1-1.html
本帖最后由 大白菜 於 2016-3-7 10:18 編輯 導語:看到群里很多朋友問Kettle發送郵件附件中文名亂碼(發件人如果是中文的話,也亂碼),怎么辦,又有論壇朋友在論壇問。http://www.ukettle.org/forum.php?mod=viewthread&tid=322&page=1#pid4708 ,然后又見有朋友在博客里面發的通過修改源碼解決的方案。個人受到啟發,就嘗試有了自己的一套解決這個問題的方案,現在分享出來,希望各位朋友能提供一個更好的解決方式。 解決相關問題:kettle發送郵件,如果帶附件的話,會有以下兩個問題: ①附件如果是中文的話,會出現中文名的附件在郵箱里面顯示為亂碼 ②發送人如果是中文的話,會出現發送人顯示為亂碼 首先,我貼出目前我能查到的一種解決方式的鏈接地址:《 KETTLE 發送郵件亂碼修正》 其次,我給出我自己的解決方式: 附件中文名顯示亂碼的問題,個人猜測為kettle運行所需要的mail.jar包,版本滯后了,如果替換為新的mail包,是可以支持中文的。 發送人中文名顯示亂碼的問題,這部分問題通過替換mail.jar包也沒能解決,所以,通過參考網上人修改發送部分代碼的方式,通過在kettle里面寫java腳本,來修補這個問題。 第一步,添加新的mail.jar包,修改附件中文名顯示亂碼的問題: jar包下載地址:https://java.net/projects/javamail/pages/Home#Download_JavaMail_Release,下載下來的文件為:javax.mail-1.5.5.jar 下載所在位置如下圖所示: 下載之后,將jar包添加到\pdi-ce-5.1.0.0-752\data-integration\lib目錄下即可 第二步,添加步驟,修改發信人中文顯示為亂碼的問題: 這一步的解決,我這邊是新建了一個轉換(附件中對應的轉換名字為:發件人姓名中文encode.ktr。通過java代碼這個組件來對發件人這個字段進行 處理來解決。下面是核心的代碼:
[Java]
純文本查看 復制代碼
|