конвертировать всю строку в UNICODE Я использовал следующий код для преобразования Всего HTML файла для чтения в строке с помощью FileUtils
содержимого String = FileUtils.readFileToString (новый файл ("/ путь/к// HTMLFILE"), «UTF-8»)
Я пытался послать e-mail на китайском, арабском, японском и испанском языках, так что при конвертировании я не мог понять это во время установки содержимого в MimeMessage и MimeMultipart
So я читаю весь файл как строку, а затем символ, который лежит между 1-128, т.е. английским, Numeric Sp ecial Characters Space и т. д., которые принадлежат ASCII. Я сохранил их в строке и остальном все символы преобразуются в Юникод
Кодекс Подобно Выше комментарий, но полезно во время отправки электронной почты на нескольких языках
package com.test;
/**
* @author mohammmed maaz
*
*/
public class StringToUniCode {
/**
* @param args
*/
public static void main(String[] args) {
String str = "<div>Chinese 你好嗎 How are you Japanese お元気ですか Arabic كيف حالك Spanish cómo estás</div>";
String[] codePointAt = new String[str.length()];
for (int j = 0; j < str.length(); j++) {
int charactercode = Character.codePointAt(str, j);
if (charactercode > 0 && charactercode < 128) {
codePointAt[j] = String.valueOf(str.charAt(j));
} else {
codePointAt[j] = "&#" + String.valueOf(charactercode) + ";";
}
}
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < codePointAt.length; i++) {
strBuilder.append(codePointAt[i]);
}
System.out.println("New String :: " + strBuilder.toString());
}
}
Выход:
New String :: <div>Chinese 你好嗎 How are you Japanese お元気ですか Arabic كيف حالك Spanish cómo estás</div>
MimeMessage msg = new MimeMessage(session);
String UniCodeSubject = convertToUniCode(yourSubject);
msg.setSubject(UniCodeSubject, "UTF-8"); // here you specify your subject encoding
То же самое устройство для крепления кузова с использованием DataHandler
new DataHandler("UniCodeSubjectString","text"/html);
EmailMimeMultiPart.addBody(MimeBodyPart);
Добавить UTF-8 В MimeMultiPart В то время как настройка Содержание и Transport.Send()
Не работает для меня :( – Romi
я получил «? UTF-8? B? W5jCp8OZwoTDmMKqw5jCs8OYwqzDmcKKw5nChCDDmcKBw5nCiiDDmcKF? = =? UTF-8? B? w5nChsOYwqfDmcKBw5jCs8OYwqkgw5jCp8OZwoTDmMKjw5nChMOYwrnDmMKn? = =? UTF-8? B? w5jCqCDDmMKnw5nChMOYwqPDmcKIw5nChMOZworDmcKFw5jCqMOZworDmMKp? = =? UTF-8? B? IMOZwoTDmMK0w5jCscOZwoPDmMKpTWNEb25hbGTDosKAwplz? = "Wheres ожидается в Arebic – Romi
также установить свойство' props.setProperty (" кодировка "," utf-8 ");' – HashimR