工作中偶遇,记录下来
通过mail.jar发送邮件,中文标题乱码
查了下资料,SMTP协议中标题只支持US-Ascii编码。
msg.setSubject("中文") 标题不管什么编码的字符串(utf8,gbk,iso8859-1)都乱码,因为ascii不识别
解决方法:
msg.setSubject( "=?GB2312?B"+Base64.encode("中文")+"?=" )
解码成base64,ascii识别无压力后,再按2312显示。
工作中偶遇,记录下来
通过mail.jar发送邮件,中文标题乱码
查了下资料,SMTP协议中标题只支持US-Ascii编码。
msg.setSubject("中文") 标题不管什么编码的字符串(utf8,gbk,iso8859-1)都乱码,因为ascii不识别
解决方法:
msg.setSubject( "=?GB2312?B"+Base64.encode("中文")+"?=" )
解码成base64,ascii识别无压力后,再按2312显示。
转载于:https://my.oschina.net/u/995999/blog/201578