如何对javamail中的日语字符进行编码

如何对javamail中的日语字符进行编码,java,jakarta-mail,encode,Java,Jakarta Mail,Encode,所以基本上我想发一封带有日语字符的电子邮件,比如“你把事情弄得太复杂了 首先,确保使用正确的Unicode字符将日语文本放在正确的Java字符串对象中 然后,使用以下命令设置身体部位的内容: 有点类似。可能字符集有问题。您是如何发送电子邮件的?纯文本还是HTML?您是否在电子邮件中指定了字符编码?您的问题可能是您的电子邮件客户端不知道要使用哪个字符集。您很可能不需要使用Shift_JIS,您几乎可以肯定使用UTF-8或UTF-16。此外,您的changeCharset似乎没有任何意义。您似乎试图

所以基本上我想发一封带有日语字符的电子邮件,比如“你把事情弄得太复杂了

首先,确保使用正确的Unicode字符将日语文本放在正确的Java字符串对象中

然后,使用以下命令设置身体部位的内容:


有点类似。可能字符集有问题。您是如何发送电子邮件的?纯文本还是HTML?您是否在电子邮件中指定了字符编码?您的问题可能是您的电子邮件客户端不知道要使用哪个字符集。您很可能不需要使用Shift_JIS,您几乎可以肯定使用UTF-8或UTF-16。此外,您的changeCharset似乎没有任何意义。您似乎试图将输入字符串中的字节作为Shift_-JIS读取,然后将其转换为输出上的Shift_-JIS。您需要指定编码的唯一位置是将字节附加到电子邮件时。此时您将调用
getBytes(“Shift_-JIS”)
并将字节数组结果附加到电子邮件中。我正在使用它设置要发送的html部分MimeBodyPart htmlPart=new MimeBodyPart();htmlPart.setContent(encoding(mailMessage.getMessageHTML()),“text/html”);JamieI已经检查了链接Viroj,但仍然不起作用
htmlPart.setText(japaneseString, "Shift_JIS", "html");