MimeMessage内容类型java

时间:2013-03-19 15:40:12

标签: java javamail mime-types

StringBuffer messageText = new StringBuffer();
messageText.append("<style type=\"text/css\">" +
                    "#message p {some style }" +
                    "</style>");
messageText.append("<p>");
(L1)messageText.append("abc’s email level…def");            
messageText.append("</p>");
message.setContent(messageText.toString(), "text/html;");
Transport.send(message);

当我运行代码时发现两个不同的输出变体。

我首先在微软词中键入此消息abc’s email level…def,然后将其复制到eclipse编辑器中。当我运行电子邮件中的程序消息与此abc?s email level?def

不同时

但是当我在eclipse编辑器中输入此消息abc’s email level…def时,我在电子邮件中看到了相同的消息。

即使我从Microsoft Word中复制了某些内容,我还应该在代码中更改以在电子邮件中接收相同的消息...

1 个答案:

答案 0 :(得分:0)

这几乎肯定是您的编辑器(在本例中为MS-Word和Eclipse)与您的程序之间的编码问题。您将要验证您正在复制并从MS-Word粘贴到eclipse的内容是双方的UTF-8,我怀疑它不是。

评论者说这个问题是微软的智能引用是正确的,它通常不能正确粘贴,你可以写一个regular expression to replace them;但这是针对这些特定字符的特定工作,并且不会处理一般情况。

根本原因几乎可以肯定是您从MS-Word粘贴的内容与您的Java代码所期望的内容之间的编码不匹配。您可以检查您的日食设置以验证您是否使用UTF-8作为默认设置,检查您的单词设置以验证源文档也是UTF-8。