快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

关于JAVAMAIL处理中文附件的问题

JavaMail能很好的支持中文,但在测试过程中发现使用JavaMail发带有中文文件名的
附件时,文件名是乱码,经测试与查看源文件发现,是在JavaMail包里的一个写邮件
的方式没有考虑国际化因素,对双字节或多字节的字符没有考虑。即在
com.sun.mail.util.LineOutputStream调用
com.sun.mail.util.ASCIIUtility.getBytes(String s);
此方式直接将字符串转化成字符然后转变成字节。其实在String类里的getBytes()
方式就直接可以按照系统缺省的编码准确转变成字节码。
解决方式:将com.sun.mail.util.LineOutputStream中调用ASCIIUtility.getBytes(String s);
方式的部分改为s.getBytes()解决了此问题。
用重新编译好的LineOutputStream.class文件替换javamail里的Com/sun/mail/util/LineOutputStream.class文件即可
返回类别: 教程
上一教程: JSP+JAVABEAN循序渐进教程(六)
下一教程: 下载文件的SERVLET

您可以阅读与"关于JAVAMAIL处理中文附件的问题"相关的教程:
· 上次java socket 的问题已解决,这次关于trigger问题了
· JDK1.2关于JDBC中文问题的解决方案
· java 与 mysql 中文问题的处理
· 如何在JSP中处理中文
· 关于Java中文问题的几条分析原则
    微笑服务 优质保证 索取样品