簡體   English   中英

Java Mail API接收帶有越南語字符的電子郵件附件

[英]java Mail API receiving email attachment with vietnamese characters

最近,我遵循Java Mail API上的Sun在線指南來發送電子郵件,下載電子郵件和下載附件。 當從電子郵件中提取附件時,我的代碼看起來與這篇文章非常相似。 使用Java Mail下載附件

但是,當用戶發送帶有越南語字符的電子郵件附件文件名時,我遇到一個問題,例如: hệthốngthông.xls

當代碼嘗試通過以下方式獲取文件名: bodyPart.getFileName()時 ,返回文件名如下:h? th?ng =?iso-8859-1?b?dGj0bmcueGxz?=

我嘗試了以下方法,但是沒有任何運氣

1)設置Java VM參數:-Dfile.encoding = UTF-8

2)嘗試進一步研究有關UTF-8字符支持的Java Mail API,但找不到任何內容

任何提示都會有所幫助。 謝謝!

您可以使用MimeUtility.decodeWord(bodyPart.getFileName())來獲取文件的實際名稱。

由於郵件頭只能包含ASCII字符,因此RFC 2047描述了如何對其他字符集進行編碼,並且此方法將解碼RFC 2047中指定的名稱。

ISO-8859-1是Latin-1字符集。 它僅包含西歐字符。 所以這可能是一個提示。 也許問題出在發送附件的客戶端上? 看一下消息的原始來源,檢查是否有任何標題說明有關文本編碼的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM