我想在使用Java发送的HTML电子邮件的电子邮件正文中显示一个或多个特殊字符。以下是问题的详细信息
我已经创建了一个扩展,它可以获取网页中表单的文本框中输入的所有文本,我将此文本存储在String变量中,并将此变量作为参数传递给负责发送电子邮件的方法。如果用户放置特殊字符或符号,如"←在文本框中,它在电子邮件正文中显示为"â†",我如何使用java处理这些特殊字符或符号,以便它们在电子邮件正文中原样显示
以下是我的代码看起来像
String description = "Here I am getting all text from Text box in webpage, it can also
contain special character as explained above";
String emailSubject = "test HTML email";
String emailBody = "<!DOCTYPE html>" + "<html>" + "<body>" +
"<p>Please review this work item and assign it to the appropriate owner.</p>" + description+
"</body>" + "</html>";
//below is the method responsible for sending email to which I pass string parameters emailSubject
//and emailBody
您可以用HTML实体表示特殊符号。您基本上需要将符号映射到HTML实体,并在字符串中替换它们。例如,用户输入的箭头符号可以在HTML中用←
替换,并在HTML中显示为&lar;。
您可以使用此类为您执行以下操作:https://commons.apache.org/proper/commons-text/apidocs/org/apache/commons/text/StringEscapeUtils.html
将其添加到您的html头部分:
<meta http-equiv="content-type" content="text/html;charset=utf-8" />