我有一个电子邮件监听器,可以从gmail中读取邮件。当我从包含中文字符的Outlook客户端发送邮件时,编码设置为gb2312,这会导致Java mail api中part.getContent()的结果不正确。
如果从客户端编码设置为中文Big5程序正常工作但我们无法更改Outlook客户端中的编码。有没有办法从Java Mail API读取,但设置内容类型或任何替代方法来获取正确的内容??????
答案 0 :(得分:1)
https://community.oracle.com/message/5440489#5440489
使用GBK字符集读取所有GB2312文件的文件,因为gb2312是GBK的子集。
答案 1 :(得分: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");