javamail 中subjct的乱码问题,大虾出手啊 String subject = m.getSubject(); m.setContent(subject, "text/html; charset=gb2312"); System.out.println(subject); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 subject = new String(subject.getBytes("ISO8859_1")); 看看这篇文章,刚找到的。 论JAVAMAIL的中文解决方案 2001-03-20 10:17 -------------------------------------------------------------------------------- javamail在jsp中调用 目前JAVAMAIL支持的汉字编码方式有 gb2312,GBK,utf-8,iso-8859-1,us-assic共5种,解码的函数在类MimeUtility中,叫做decodeText,如果采用前三种方式,直接得到中文。后两种还需要自己再编个小函数解码,才能显示中文, javamail里的getSubject()会自动解码,但不会区分是否需要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); } 串口数据经常收不全,应该怎么办? java swing awt 怎么有错??急急,在线等待中 再问继承的函数调用问题 新手问题 请大家帮我分析下这段代码 如何获得jTree所有节点的名称,并把它放到动态数组里 Java setToolTipText的问题 java中如何定位读取文件? 报个到,刚来,随便提个问 如何利用反射进行强制类型转换? 给Java初学者指点迷津? 请问如何解决jbuilder4.0中的could not create JVM问题? 请问textarea中的字体颜色问题
论JAVAMAIL的中文解决方案
2001-03-20 10:17 --------------------------------------------------------------------------------
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);
}