最近在写一个纯静态网站使用到了Mailto,弹出的outlook的内容是乱码。
查了资料知道是由于outlook默认用了gb2312编码造成的,解决办法是使用服务器端代码,urlencode方法,或者把整个项目的编码设置成gb2312.
但是有个问题:服务器是租的虚拟主机,只支持纯html,导致了网上查的方法都不能用。然后我试着把charset
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
这样设置,也还是有乱码。请问这样为什么不行呢,还有什么办法可以解决吗?不用服务器端的东西

解决方案 »

  1.   

    你可以试试js 的escape或者encodeURIComponent方法
      

  2.   

    都试了,这两个方法都要求接收端解码,可是outlook没法解码
      

  3.   

    那你就在制作网页的时候就进行 UrlEncode
      

  4.   

    这是测试用代码,请给出范例<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>测试页</title>
    </head>
    <body>
    <a href="mailto:[email protected]?subject=这是测试&body=测试啊">测试发email</a>
    </body>
    </html>
      

  5.   

    <a href="mailto:[email protected]?subject=%a1%be%c3%cf%d7%d3E%d5%c2%a1%bf%d5%be%b5%e3%c1%f4%d1%d4%bb%d8%b8%b4&body=%cf%c4%d1%cf%c4%e3%ba%c3%a3%ac%ca%d7%cf%c8%b8%d0%d0%bb%c4%e3%b9%e2%c1%d9%b1%be%d5%be%a3%ac%d2%d4%cf%c2%ca%c7%b6%d4%c4%fa%d4%da%cd%f8%d5%be%c1%f4%d1%d4%a1%beFirefox%cf%c2%b5%c4%bf%e7%d3%f2%b7%c3%ce%ca%d6%bb%c4%dc%d3%c3GET%c2%f0%a3%bf%a1%bf%b5%c4%bb%d8%b8%b4%a3%ba">aa</a>
      

  6.   

    mailto只是简单的协议,不能做这些事情,
    发邮件交给邮件器来做何必要用这个
      

  7.   

    我知道,如果有服务器,只要<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>测试页</title>
    </head>
    <body>
        <a href="mailto:[email protected]?subject=<%=server.urlEncode("这是测试"%>&body=测试啊">测试发email</a>
    </body>
    </html>问题是现在没有!!!!
      

  8.   

    不过7楼你的那编码也不对吧...outlook弹出来后还是一样的乱码
      

  9.   

    这是客户端的Outlook设置导致的,你在服务器端的更改是无法影响到客户端的编码的。
      

  10.   

    现在我不过是想用静态页面来调用mailto来发中文邮件罢了,难道就没有办法了吗?
      

  11.   

    js转换工具http://www.aishuxue.com/get/zzzs/20061228011754297.htm
      

  12.   

    <%@ page language="java" pageEncoding="gb2312" contentType="text/html; charset=gb2312" %>