Problem mit der Codierung des Betreffs beim Senden einer E-Mail

Ich werde senden Sie eine E-Mail und ich erhalte es richtig, aber die Codierung des Subjekts ist nicht korrekt. Ich bin senden von "invitación" aber ich erhalte "invitaci?n". Der Inhalt der Nachricht ist OK.

Den Inhalt der Nachricht kommt, eine transformation von einem Velocity-Template-während das Thema in eine String-variable.

Habe ich gegoogelt um und ich habe gesehen, dass einige Leute sagt, dass MimeUtility.encodeText() das problem lösen könnte, aber ich hatte kein Erfolg damit.

Wie ich das problem lösen kann? Dies ist der code, den ich bisher haben.

String subject = "Invitación";
String msgBody = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "/vmTemplates/template.vm", "UTF-8", model);

Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);

try {
    String encodingOptions = "text/html; charset=UTF-8";
    Message msg = new MimeMessage(session);
    msg.setHeader("Content-Type", encodingOptions);
    msg.setFrom(new javax.mail.internet.InternetAddress(emailFrom));
    msg.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));

    msg.setSubject(subject);
    msg.setContent(msgBody, encodingOptions);
    Transport.send(msg);

    } catch (AddressException e) {
        ...
    } catch (MessagingException e) {
        ...
    } 

Dank

InformationsquelleAutor der Frage Javi | 2011-02-04

Schreibe einen Kommentar