2014-01-12 33 views
1

我有一個從gmail讀取郵件的電子郵件偵聽程序。當我從包含中文字符的Outlook客戶端發送郵件時,編碼設置爲gb2312,這導致Java郵件API中part.getContent()的結果不正確。使用Java郵件API不能正確讀取中文工具

如果客戶端的編碼設置爲中文Big5程序正常工作,但我們無法更改Outlook Client中的編碼。有沒有辦法從Java Mail API讀取,但設置內容類型或任何其他方法來獲取正確的內容??????

回答

0

以下則應該以一點運氣的工作:

String content = mail. ... 

// The bytes as sent, and then interpreted as gb2312: 
byte[] bytes = content.getBytes("gb2312"); 

// Now correctly interprete the bytes as Big5: 
content = new String(bytes, "Big5"); 
+0

這是行不通的...我的實際輸入:地址及電話均正確。,在做新的String後輸入(字節,「Big5」) - 華硊摯??歙? – user2652204

+0

對不起,在你身邊付出了努力。我希望你能跟隨我的想法。 –

+0

是的,我試過...從part.getContent()我寫了你已經指定的相同的代碼。但仍然顯示垃圾字符 – user2652204

相關問題