Javamail的中文问题
1、收邮件时附件名称为中文时
附件名称为中文时,需要用MimeUtility.decodeText(filename)来解码,这样显示出来的就是正确的中文了
2、附件提供下载时在IE的保存对话框中显示的文件名的中文问题
附件名称显示正确后,点击链接开始下载,IE弹出下载对话框时,还需要将转换好的GB2312码换成ISO8859码,否则
IE的保存对话框中显示的默认文件名还是乱码
如下:
附件名称为中文时,需要用MimeUtility.decodeText(filename)来解码,这样显示出来的就是正确的中文了
2、附件提供下载时在IE的保存对话框中显示的文件名的中文问题
附件名称显示正确后,点击链接开始下载,IE弹出下载对话框时,还需要将转换好的GB2312码换成ISO8859码,否则
IE的保存对话框中显示的默认文件名还是乱码
如下:
String filename = p.getFileName();
filename = MimeUtility.decodeText(filename);
//再将中文转换为ISO编码送给浏览器
WebToolkit mykit = WebToolkit.getInstance();
filename = mykit.GB2312Decode_ISO8859Encode(filename);
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
OutputStream out = response.getOutputStream();
InputStream in = p.getInputStream();
int c = in.read();
while (c != -1)
{
out.write(c);
c = in.read();
}
filename = MimeUtility.decodeText(filename);
//再将中文转换为ISO编码送给浏览器
WebToolkit mykit = WebToolkit.getInstance();
filename = mykit.GB2312Decode_ISO8859Encode(filename);
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
OutputStream out = response.getOutputStream();
InputStream in = p.getInputStream();
int c = in.read();
while (c != -1)
{
out.write(c);
c = in.read();
}