我是得用javamail发送邮件的,在main函数里执行是完全没问题的,收到的内容也都能正确显示中文,可是一放到tomcat里去执行的时,收到的邮件就全是乱码如下:xOq82bncwO3UsaO6Cg0gCSDE+rrDo6zEv8ew09DS1M/CzazKwsTqvNnW3Mba0tG+rb3hyvjBy6Os
0OjSqrj80MLQwrXExOq82dbcxtrQxc+io6zH67XHwrzE6rzZudzA7c+1zbO9+NDQuPzQwqGjtdjW
t86qo7podHRwOi8vbG9jYWxob3N0OjgwODgvdm1zoaMKDQkgzrrn4iy367n6yNks1ty+siy2rbXC
xeAsuN+659OiLMKsuePWviyzwr/8LM7k0e8swbrP/rarLMG3xL7B1izB9dDDLMDu06gsusK94Cy7
xrqjLMDu08K93Cy+3snZt8kswfXKy7arLNPgvM7UzyyzwrrGLNbTzM4s8bzF9Cy4trqjzM4s1cXO
sAoNCSDXo6O6uaTX98uzwPujoSDE6rzZzOHQ0bf+zvHPtc2z
哪位高手快来帮忙解决啊!

解决方案 »

  1.   

    说明你的编码方式和tomcat 不一致,把你的编码方式全部都统一。
      

  2.   

    <Connector port="80"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    debug="0" connectionTimeout="20000" 
    disableUploadTimeout="true" URIEncoding="GBK"/> 
      

  3.   

    2楼正解   修改下  你 tomcat的  配置文件
      

  4.   

        <Connector port="8088" maxHttpHeaderSize="8192"  URIEncoding="GBK"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" />我的设置是这样的啊,没错啊
      

  5.   

    我看了下, 这个并不是乱码,这个是你的一个叫  BASE64Encoder 编码输出来的一些文件;import sun.misc.BASE64Encoder;//导入的jarpublic toUnicode(String username,String password){   BASE64Encoder encoder = new BASE64Encoder();
         
       System.out.println(encoder.encoder(username));
       System.out.println(encoder.encoder(password));  
    }
    这个方法就是把普通的字符转换成  BASE64Encoder  的一个方法;可能是这样,你试试吧。希望给你带来帮助!