Java Mail ne supporte pas les Caractères UTF-8 dans le Sujet de l'email

Voici mon code de paramètre de l'objet de l'email:

  String bodyMessage="Dear Renavçilçleç Françoisç InCites™";
  String subject = "Your new InCites™ subscription";

  Properties _sessionProperties = new Properties();
  _sessionProperties.put("mail.transport.protocol", "smtp");
  _sessionProperties.put("mail.smtp.host", "hostname");
  _sessionProperties.put("mail.smtp.port", "25");

  Session session = Session.getInstance(_sessionProperties, null);

  MimeMessage mimemsg = new MimeMessage(session);
  mimemsg.addRecipients(Message.RecipientType.TO, "[email protected]");
  mimemsg.setSubject(subject, "UTF-8");

  //Create a multi-part message
  MimeMultipart multipart = new MimeMultipart();
  //Set the subType
  multipart.setSubType("alternative");
  BodyPart part = new MimeBodyPart();

  part.setContent(bodyMessage, "charset=UTF-8");

  //Set the emailBody and emailType to MIME BodyPart
  part.setDataHandler(new DataHandler(new ByteArrayDataSource(
      bodyMessage, "text/html;")));

  //Add the MIME BodyPart to MIME multiPart
  multipart.addBodyPart(part);

  //Put parts in message
  mimemsg.setContent(multipart);

  //Send message
  Transport.send(mimemsg);

Mais encore dans l'objet du courriel, il montre encore que "Your new InCites™ subscription"

Donc... le problème est que le client de messagerie est de vous montrer exactement ce que vous voulez voir?
Je suis en train de mettre en UTF-8 prise en charge des caractères en objet de l'email. Mais encore je ne peux pas en mesure de le faire dans le sujet de l'email
Comment soutenir les caractères UTf-8 dans le Sujet de l'e-mail à l'aide de MimeMessage ou est-il un autre moyen pour le faire?
Ignacio Vazquez-Abrams: Le problème est que je suis en train d'UTF code pour 'TM' symbole. Dans le client de messagerie corps, il décode amende dans ce symbole, mais dans le sujet, il affiche le code au lieu de les décoder en 'TM' symbole.
Je vais être direct. Vous avez besoin de comprendre comment le client de messagerie effectue le décodage des messages de courrier électronique. Le corps est susceptible d'affiché à l'aide d'un convertisseur HTML et c'est pourquoi le codage HTML fonctionne dans le corps. Il n'en sera pas de même pour le sujet, et que nous la raison pour laquelle plusieurs personnes ont recommandé d'utiliser les caractères UTF-8 (dans la façon dont il peut être représenté dans le code source de Java). À l'aide d'un code HTML caractère codé dans un tel endroit ne sera pas vous obtenir n'importe où parce que le codage HTML emploie l'utilisation de l'ASCII.

OriginalL'auteur Kalyan Raju | 2010-12-10