Java 发送邮件 标题中文乱码问题的解决

工作中偶遇,记录下来

通过mail.jar发送邮件,中文标题乱码

查了下资料,SMTP协议中标题只支持US-Ascii编码。

msg.setSubject("中文")    标题不管什么编码的字符串(utf8,gbk,iso8859-1)都乱码,因为ascii不识别

解决方法:

msg.setSubject( "=?GB2312?B"+Base64.encode("中文")+"?=" )

解码成base64,ascii识别无压力后,再按2312显示。

 

 

你可能感兴趣的:(Java 发送邮件 标题中文乱码问题的解决)