Электронная почта с японским отправленным из APEX Code имеет сломанные строки, как кодировать?

StackOverflow https://stackoverflow.com/questions/4141799

Вопрос

Я написал страницу VisualForce, которую вы можете отправить электронную почту. Работает нормально на английском языке. Но когда я набрал японский раздел по электронной почте, и отправьте его, мой почтовый ящик имеет вопросы вместо японского языка.

текст тела в Gmail появляется во всех ?

??????????????????????????

Я думаю, что мне нужно кодировать строку? Но как сделать это в коде APEX? Класс EncodeUtil имеет несколько методов, но не принимает строку для кодирования.

код

public PageReference sendEmail() {
    Messaging.SingleEmailMessage mail = new Messaging.singleEmailMessage();
            //subject
            subject = 'my subject';
            mail.setSubject(subject);
            //set sender name
            mail.setSenderDisplayName('im sender');
            //set recipient
            emailTo = 'test@test.com'; //test sample email address
            mail.setToAddresses(new String[]{emailTo});
            //set body
                String bodyText = '送信者'; //add Japanese to body
            mail.setPlainTextBody(bodyText);

            try{
                Messaging.SendEmailResult[] resultMail = Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
                if(resultMail[0].isSuccess())
                    response = 'ok sent!';
                else{
                    response = resultMail[0].getErrors().get(0).getMessage();
                }
            }catch(System.EmailException ex){
                response = ex.getMessage();
            }
}
Это было полезно?

Решение

Я нашел решение, так что позвольте мне поделиться ...

Messaging.SingleEmailMessage Класс имеет функцию setCharset()

Так что в коде в мой вопрос мне просто нужно было предоставить японскую кодировку "SHIFT-JIS"

mail.setCharset('Shift-JIS');

Решено :)

Другие советы

Вы должны установить его, чтобы использовать UTF8 вместо UTF-8 Таким образом, вы не будете ограничены только японскими.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top