用JavaMail接收邮件 总是有乱码
用MimeUtility.decodeText进行转换
乱码的地方好了 可是原本没有乱码的地方变乱码了
试了网上好多方法 都不行
请问到底怎么搞啊?
谢谢!
用MimeUtility.decodeText进行转换
乱码的地方好了 可是原本没有乱码的地方变乱码了
试了网上好多方法 都不行
请问到底怎么搞啊?
谢谢!
解决方案 »
- 关于定时执行的问题,求高手!!
- splitPane分割面板的问题
- 从XML中取出的值为一个换行符和空隔的组合(如:“\n ”),怎么对它进行判断啊!
- 菜鸟求教!大神请进,位运算的问题
- 谁能把这些概念整明白?我都晕菜了!
- 实现我的诺言,散分,主要回答人如下:wjmmml(笑着悲伤),xmvigour(微电--有狼的气质 没狼的勇气 真郁闷),sharetop(燕赤霞),piggybank(
- 高分请教(暂为100分):请问如何用applet调用非本地数据库
- 请问网关(GATEWAY)和代理服务器有什么区别。
- 写了一个关于数据库操作的程序,出现了我不能够解决的问题大家看看??
- 新人急求!!!java怎么操作一个已有的Sqlite文件是以.sqb结尾的文件
- 关于JAVA学习的问题
- 抽象类与接口的区别
public InternetAddress address(String str)
{
InternetAddress address1 = new InternetAddress();
int pos = str.indexOf("<");
if(pos==-1)
{
address1.setAddress(str);
}
else{
try{
address1.setPersonal(str.substring(0,pos),"gb2312");
}catch(Exception e){}
address1.setAddress(str.substring(pos+1,str.length()-1));
}
return address1;
}
public InternetAddress[] address(String[] str)
{
InternetAddress address1[] = new InternetAddress[str.length];
for(int i=0;i<str.length;i++)
{
address1[i]=address(str[i]);
}
return address1;
}
public String decodeAddress(String str)
{
StringBuffer sb = new StringBuffer();
int start = str.toLowerCase().indexOf("?b?");
if(start>0)
{
String code = str.substring(2,start);
if(code.equals("x-unknown"))code="GBK";
int end = str.indexOf("?=");
sb.append(Base64.decode(str.substring(start+3,end),code));
if(end+2<str.length())
sb.append(str.substring(end+2,str.length()));
}
else return str;
return sb.toString();
}
//文件名
public String decodeName(String str)
{
StringBuffer sb = new StringBuffer();
String[] strs = tools.split(str," ");
for(int i=0;i<strs.length;i++)
{
if(i>0)sb.append(" ");
int start = strs[i].toLowerCase().indexOf("?b?");
if(start>0)
{
String code = str.substring(2,start);
if(code.equals("x-unknown"))code="GBK";
int end = strs[i].indexOf("?=");
sb.append(Base64.decode(strs[i].substring(start+3,end),code));
}
else sb.append(strs[i]);
}
return sb.toString();
}