小編給大家分享一下JavaMail中文附件如何處理,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
10年積累的網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有將樂免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。JavaMail能很好的支持中文,但在測試過程中發(fā)現(xiàn)使用JavaMail發(fā)帶有中文文件名的
附件時,文件名是亂碼,經(jīng)測試與查看源文件發(fā)現(xiàn),是在JavaMail包里的一個寫郵件
的方法沒有考慮國際化因素,對雙字節(jié)或多字節(jié)的字符沒有考慮。即在
com.sun.mail.util.LineOutputStream調(diào)用
com.sun.mail.util.ASCIIUtility.getBytes(String s);
此方法直接將字符串轉(zhuǎn)化成字符然后轉(zhuǎn)換成字節(jié)。其實在String類里的getBytes()
方法就直接可以按照系統(tǒng)缺省的編碼正確轉(zhuǎn)換成字節(jié)碼。
解決方法:將com.sun.mail.util.LineOutputStream中調(diào)用ASCIIUtility.getBytes(String s);
方法的部分改為s.getBytes()解決了此問題。
用重新編譯好的LineOutputStream.class文件替換javamail里的Com/sun/mail/util/LineOutputStream.class文件即可
以上是“JavaMail中文附件如何處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
分享題目:JavaMail中文附件如何處理-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://muchs.cn/article16/dgcogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、外貿(mào)建站、網(wǎng)站制作、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)