Как отображать символы в теле письма, используя Java - PullRequest
0 голосов
/ 31 октября 2018

Я хочу отобразить специальный символ или символы в теле сообщения электронной почты в формате HTML, отправленного с использованием Java. Ниже приведены детали проблемы.
Я создал расширение, которое получает весь текст, введенный в текстовое поле формы на веб-странице, я сохраняю этот текст в переменной 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  

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Вы можете представлять специальные символы с помощью сущностей HTML. Вам в основном нужно сопоставить символы с сущностями HTML и заменить их в строке. Например, символ стрелки, который пользовательский ввод можно заменить в HTML на &larr; и будет отображаться в HTML как & larr;.

Вы можете использовать этот класс, чтобы сделать это для вас: https://commons.apache.org/proper/commons-text/apidocs/org/apache/commons/text/StringEscapeUtils.html

0 голосов
/ 31 октября 2018

Добавьте это в ваш html заголовок:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
...