使用Java Mail API无法正确读取中文邮件

使用Java Mail API无法正确读取中文邮件,java,api,email,Java,Api,Email,我有一个电子邮件侦听器,可以从gmail中读取邮件。当我从Outlook客户端发送包含汉字的邮件时,编码设置为gb2312,这导致Java mail api中的part.getContent()产生不正确的结果 如果“从客户端编码”设置为“中文Big5”,则程序正常工作,但我们无法在Outlook客户端中更改编码。是否有一种方法可以读取Java Mail API,但需要设置内容类型或任何其他方法来获取正确的内容?那么下面的方法应该会很幸运: String content = mail. ...

我有一个电子邮件侦听器,可以从gmail中读取邮件。当我从Outlook客户端发送包含汉字的邮件时,编码设置为gb2312,这导致Java mail api中的part.getContent()产生不正确的结果


如果“从客户端编码”设置为“中文Big5”,则程序正常工作,但我们无法在Outlook客户端中更改编码。是否有一种方法可以读取Java Mail API,但需要设置内容类型或任何其他方法来获取正确的内容?

那么下面的方法应该会很幸运:

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");


使用GBK字符集读取所有GB2312文件的文件,因为GB2312是GBK的子集。

这不起作用…我的实际输入:地址及電話均正確。, 执行新字符串后输入(字节,“Big5”)-華硊摯??歙淏?很抱歉在你身边付出的努力。我希望你能遵循我的想法。是的,我试过了。。。从part.getContent()中,我编写了与您指定的相同的代码。但仍然有垃圾角色出现在解决方案上。。。我们应该使用GBK而不是gb2312。