El correo electrónico enviado con la japonesa desde el vértice código ha roto las cadenas, cómo codificar?

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

Pregunta

Me escribió la página Visualforce que se puede enviar correo electrónico. Funciona bien en Inglés. Pero cuando he escrito japonés en sección del cuerpo de correo electrónico y enviarlo, mi bandeja de entrada de correo electrónico tiene signos de interrogación en vez de japonés.

texto del cuerpo en espectáculos de Gmail en todo ?

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

Creo que necesito para codificar la cadena? Pero, ¿cómo hacerlo en código Apex? EncodeUtil clase tiene algunos métodos, pero no hace falta ser de cadena para codificar.

código

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();
            }
}
¿Fue útil?

Solución

He encontrado la solución para que permítanme compartir ...

clase Messaging.SingleEmailMessage tiene la función setCharset()

por lo que en el código en mi pregunta, sólo necesitaba para proporcionar codificación japonesa "SHIFT-JIS"

mail.setCharset('Shift-JIS');

Resuelto:)

Otros consejos

Se debe configurarlo para usar UTF-8 en lugar UTF-8 por lo que no se limitará a solo japonés.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top