Przykład

public static void main(String[] args) {
javax.mail.internet.MimeMessage mm = new javax.mail.internet.MimeMessage(
javax.mail.Session.getInstance(new java.util.Properties()));
try {
mm.setText(args[0]);
byte[] description = ((String) mm.getContent()).getBytes();
java.io.FileOutputStream out = new java.io.FileOutputStream(
"Rule.html", true); //$NON-NLS-1$
out.write(description);
} catch (Exception e) {
System.out.println(e.toString());
}
}
Rozwiązanie
Użyj metody
javax.mail.internet.MimeBodyPart.setText (java.lang.String, java.lang.String) Dany łańcuch Unicode zostanie zakodowany przy użyciu określonego zestawu znaków.
Należy zauważyć, że w podanym zestawie znaków muszą być obsługiwane wszystkie znaki występujące w danym łańcuchu.
Jeśli język łańcucha jest nieznany, należy użyć kodowania UTF-8.

public static void main(String[] args) {
String text = args[0];
String charset = args[1];
javax.mail.internet.MimeMessage mm = new javax.mail.internet.MimeMessage(javax.mail.Session.getInstance(new java.util.Properties()));
try {
mm.setText(text,charset);
byte[] description = ((String)mm.getContent()).getBytes("UTF-8"); //$NON-NLS-1$
java.io.FileOutputStream out = new java.io.FileOutputStream("Rule186-2.html", true); //$NON-NLS-1$
out.write(description);
}catch (Exception e){
System.out.println(e.toString());
}
}