求助!关于JavaMail发送中文名附件乱码的问题

norwegianwood 2002-02-01 11:22:26
不知为什么发送的邮件中附件的中文名变成乱码,请问这个问题如何解决,谢谢!
下面是添加附件的代码段,需要的话,我给全部代码。qq: 11362918

// create and fill the first message part
MimeBodyPart mBodyContent = new MimeBodyPart();
if (content != null)
mBodyContent.setContent(content, messageContentMimeType);
else
mBodyContent.setContent("", messageContentMimeType);
mPart.addBodyPart(mBodyContent);
// attach the file to the message
if (attachedFiles != null) {
for (int i=attachedFiles.size()-1; i>=0; i--) {
String attachedFileName = (String) attachedFiles.elementAt(i);
MimeBodyPart mBodyPart = new MimeBodyPart();

FileDataSource fds = new FileDataSource(basePath + attachedFileName);
mBodyPart.setDataHandler(new DataHandler(fds));
mBodyPart.setFileName(attachedFileName);
if(debug) {
System.out.println(attachedFileName);
System.out.println(mBodyPart.getFileName());
}
mPart.addBodyPart(mBodyPart);
}
}
msg.setContent(mPart);
...全文
46 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xuyaoliang 2002-02-27
给文件名按一定的字符集编码之后再setFileName
回复
hexiaofeng 2002-02-27
搜索论坛
回复
xuyaoliang 2002-02-27
在设置文件名的时候必须要编码

把你的语句稍微改动一下就OK
name = MimeUtility.encodeWord(name, charset, null);
part.setFileName(name);
回复
skyyoung 2002-02-01
shmilu@sina.com 给你个Detect是什么中文的工具,从而得出正确的解码。
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-02-01 11:22
社区公告
暂无公告