示例

public static void main( String[] args ) {
MimeBodyPart mbp = new MimeBodyPart();
try {
mbp.setText( args[ 0 ]);
byte[] description = ((String)mbp.getContent()).getBytes();
java.io.FileOutputStream out = new java.io.FileOutputStream("Rule.html", true); //$NON-NLS-1$
out.write(description);
}catch (Exception e){
e.printStackTrace();
System.out.println( e.getMessage() );
}
}
解决方案
使用
javax.mail.internet.MimeBodyPart.setText (String, String) 将使用指定的字符集来对给定的 Unicode 字符串进行编码。
注意,指定的字符集必须支持该字符串中的所有字符。
如果不知道该字符串使用的语言,那么使用 UTF-8。

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