当前位置:  技术问答>java相关

关于JAVAMAIL收邮件的中文乱码问题的解决方案!!!总结CSDN的几种方法。有问题,请入内解决啊!!!

    来源: 互联网  发布时间:2015-02-11

    本文导语:  1。 String subject = m.getSubject(); m.setContent(subject, "text/html; charset=gb2312"); System.out.println(subject);  但message为read-only,报错: javax.mail.IllegalWriteException: POP3 messages are read-only 2。 subject = new String(subject.getBytes("ISO8859_...

1。

String subject = m.getSubject();
m.setContent(subject, "text/html; charset=gb2312");
System.out.println(subject); 
但message为read-only,报错:
javax.mail.IllegalWriteException: POP3 messages are read-only

2。

subject = new String(subject.getBytes("ISO8859_1")); 
subject = new String(subject.getBytes("gb2312"),"ISO8859_1");
也不行啊,乱码依旧。

3。

javamail在jsp中调用 目前JAVAMAIL支持的汉字编码方式有 gb2312,GBK,utf-8,iso-88
59-1,us-assic共5种,解码的函数在类MimeUtility中,叫做decodeText,如果采用前三种方式
,直接得到中文。后两种还需要自己再编个小函数解码,才能显示中文, javamail里的getS
ubject()会自动解码,但不会区分是否需要getstr,所以不直接使用getSubject(),而应该使用
getHeader() 函数如下:(附例子,是经过修改的getSubject) 
  

public static String getstr(String str) { 
    try { 
        String temp_p=str; 
        byte[] temp_t=temp_p.getBytes(“ISO8859-1“); 
        String temp=new String(temp_t); 
        return temp; 
    } catch(Exception e) { 
        return ““; 
    } 


例子: 
public String getsubject(message m) throws Exception { 
    boolean bgetstr; String temps; 
    String[] ta1=m.getHeader(“Subject“);
    String _subject; 
    if (ta1!=null) 
        _subject=ta1[0]; 
    else 
        _subject=““; 
    if (_subject.indexOf(“=?gb2312“)!=-1 ¦¦ _subject.indexOf(“=?GBK“)!=-1 ¦¦
  _subject.indexOf(“=?utf-8“)!=-1) 
        bgetstr=false; 
    else bgetstr=true; 
    try{ 
        temps=MimeUtility.decodeText(_subject); 
    } catch(UnsupportedEncodingException E) {
        return _subject;
    } if (temps.length()==0) { 
        temps=“(无主题)“; 
        bgetstr=false; 
    } if (bgetstr==false) 
        return temps; 
    else 
        return getstr(temps); 
}  
很麻烦,不好用。

请教高手的解决方法,我是在JSP里面调用收邮件的BEAN,然后显示出来。
 

|
1、POP3收邮件当然不能
String subject = m.getSubject();
m.setContent(subject, "text/html; charset=gb2312");//用于发邮件

2 、
subject = new String(subject.getBytes("iso-8859-1"),"GB2312");

3、

  public static String getstr(String string){
    String returnValue="";
    try{
      if (string!=null){
        returnValue=new String(string.getBytes("iso-8859-1"),"GB2312");
      }
    }catch(Exception e){}
    return null;
  }



    
 
 

您可能感兴趣的文章:

  • javamail问题,如果哪位老大帮忙解决了,一定酬谢!!
  • 高分求助,急:解决了立马结贴! JavaMail程序的打包发布问题
  • JAVAMAIL的简单问题:Import refers to a missing package: javax.activation.*,解决立刻送分!!!
  • 用javamail列出目录时,出现的异常怎么解决
  • 高手请帮忙!!JAVAMAIL开发接收中文附件问题,解决再送100
  • 关于javamail的小问题,解决力送100分!!!(jar打包问题的分已结)
  • 利用javamail保存邮件附件时遇到的问题,解决了立刻给分
  • javamail有一些新问题,高手们解决了一定会给分你们的。
  • 急! 500分求助! javamail VS esmtp server 的不兼容性问题, javamail高手请进
  • javamail附件名称的问题
  • jbuilder ,javamail 问题
  • 关于javamail的奇怪问题,请大家相助!
  • javamail发送问题,急!
  • 关于javamail的奇怪问题,请大家帮忙!
  • javamail的monitor例子问题
  • javamail的问题??谢谢你的关注!!
  • javamail中关于收邮件的问题!!!
  • 100分求 JavaMail编程实验的环境搭建问题!
  • 我用javamail API 读出主题正确,但正文是乱吗?啥问题????
  • 请教javamail发信的身份验证问题!!!
  • javamail-android iis7站长之家
  • 关于javamail中message类的setExpunged方法的问题。
  • JavaMail的问题
  • JavaMail的接收html问题
  • 有关javamail的问题!
  • JavaMail效率问题
  • 刚接触javamail,高分问一些简单的问题
  • javamail的中文附件名问题。。。:(
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 为什么用JAVAMAIL发附件,用OUTLOOK收下来附件文件名的中文成了乱码
  • 请教关于JavaMail中文乱码的问题
  • javamail附件中文名字乱码问题!
  • 请给一个javamail的程序实例和javamail api 的下载地址100分!
  • 在那里能下载javamail,高分送上
  • 初学javamail
  • 请教熟悉JavaMail的大虾请帮帮忙,多谢了!
  • javamail如何安装?? (45分)
  • 请问使用JavaMail如何将一个邮件原样转发给另外一个人?
  • 请问使用JavaMail如何将一个邮件原样转发给另外一个人?
  • javamail-android
  • 怎样使用javamail发送带有html格式信息的文件
  • 请问JavaMail的API在什么地方(我用的是VisualAge for java 4.0),急!
  • 用javamail怎么可以成批发送
  • 请问各位大虾,不用javaMail如何才能发送附件。
  • javamail如何删除服务器上的邮件?
  • 那里有javamail的教程?
  • 请问谁知道到哪里去下载javamail的api文档??
  • 急:jbuilder6.0中怎么安装javamail???
  • 怎么用javamail发送附件,小弟刚接触,请各位大侠指教,谢谢!!!
  • Java邮件接口 JavaMail
  • 我用javamail包,取Mail的附件时,为什么的不到中文字符串?
  • 怎么用javamail彻底删除邮件。不是放到垃圾箱里。。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3