J'ai écrit une page Visualforce que vous pouvez envoyer un email. Cela fonctionne bien en anglais. Mais quand j'ai tapé le japonais dans la section de corps d'email et l'envoyez, ma boîte de réception d'email a des points d'interrogation au lieu du japonais.L'email avec le Japonais envoyé du code d'apex a cassé des chaînes, comment encoder?
corps du texte en gmail apparaît dans tous ?
??????????????????????????
Je pense que je dois encoder la chaîne? Mais comment le faire dans le code Apex? La classe EncodeUtil a peu de méthodes mais elle ne prend pas de chaîne pour l'encodage.
Code
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 = '[email protected]'; //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();
}
}
J'aimerais pouvoir voter pour ma propre réponse .......... –
Pensez à utiliser UTF-8 à la place; Ainsi, plus de langues que le japonais seront encodées correctement. – Ashe
Voilà, masato-san;) – eyescream