程序大概是这样的:
<a href=mailto:[email protected]?subject=<%=java.net.URLEncoder.encode(MailString,"UTF-8")%>>sometext</a>在MailString中包含中文和日文的时候,在outlook express 6里面出现乱码。
我已经试着在outlook express里面用UTF-8显示,好像不是很管用。另外,在lotus notes 7里面也会出现乱码,notes 8没问题。看起来好像是notes 8懂得用自动utf-8显示邮件。除了修改邮件收发工具的配置之外,如果从程序上考虑,有什么好的办法吗?程序需要支持多语言,所以用了utf-8。如果说我根据locale的不同encode成不同的编码,这种做法会不会不太好啊?万一邮件收发工具就只会用utf-8,我用了bg-2312什么的,会不会又变成乱码啦?如果这样做不好,那outlook express 6要怎么配置才能不乱码呢?好像outlook 2007有配置兼容mailto: utf-8的选项。还有,是不是目前大部分邮件收发软件都可以配置兼容mailto: + UTF-8了?如果是的话,那我就不用改程序了吧?还有其他地方可以改的吗?多谢多谢!

解决方案 »

  1.   

    <a href=mailto:[email protected]?subject= <%=java.net.URLEncoder.encode(MailString,"UTF-8")%>>sometext </a>
    这种URI方式传参实际就是get方式传递参数
    设置服务器的URIEncoding
    <Connector URIEncoding="utf-8">
      

  2.   

    邮件 我听说是用base64的形式发的。
      

  3.   

    为什么要设置服务器的URIEncoding?
    不是应该设置邮件接收程序吗?
    我觉得就是个连接啊,点了以后,不就由邮件接收程序处理了吗?
    我用Notes就可以显示呢。
      

  4.   

    我baidu了一下,还是觉得跟服务器没啥大关系啊。我用swt随便写了一个小程序,弄了一个text控件,这回没有服务器了吧?用同样的方法把那个mailto字符串打印出来,然后copy到浏览器里面去。还是老样子,notes8显示正常,notes7不行,outlook express不行。