javascript mailto outlook 乱码的解决办法

这个问题,困扰了我一天。又是转码又是更改outlook的编码都是无功而返。现在终于解决了。贡献出来,希望能给以后遇到同样问题的人一点帮助。

最初:
function sendMail(i)
    {
        var title = document.getElementById("id_title"+i+"").innerHTML ;
        var content= document.getElementById("id_content"+i+"").innerHTML;
        title = title.replace(new RegExp("
","gm"),"%0d%0a");//same to replaceAll()
        content= content.replace(new RegExp("
","gm"),"%0d%0a");
        var mail = document.getElementById("id_mail").value;
        var mailBody=
            "以下の記事に対するコメントメールです.%0d%0a"+
            "--------------------------------------------%0d%0a"+
            "【タイトル】%0d%0a"+
            title+
            "【記事内容】%0d%0a"+
            content+"%0d%0a"+
            "--------------------------------------------%0d%0a";
        var url = "mailto:"+mail+"?subject="+"新着情報「これはタイトルAです。」へのコメント"+"&body="+mailBody;
        document.write(url);
        window.navigate(url);
        //window.location.href=url;
    }
工程的编码格式都是utf-8的。系统是日文的。结果总是出现乱码。
更改后的:
function sendMail(i)
    {       
        var outlookApp = new ActiveXObject("Outlook.Application");
        var nameSpace = outlookApp.getNameSpace("MAPI");
        var mailItem = outlookApp.CreateItem(0);
       
        var title = document.getElementById("id_title"+i+"").innerHTML ;
        var content= document.getElementById("id_content"+i+"").innerHTML;
        var mail = document.getElementById("id_mail").value;
           var mailBody=
            "以下の記事に対するコメントメールです.
"+
            "--------------------------------------------
"+
            "【タイトル】
"+
            title+"
"+
            "【記事内容】
"+
            content+"
"+
            "--------------------------------------------" ;
        with(mailItem)
        {
            Subject="新着情報「これはタイトルAです。」へのコメント";
            To =mail;
             HTMLBody = mailBody;
            Display(0);
         }
        mailItem=null;
        nameSpace=null;
        outlookApp=null;   
    }
问题解决了。至于原因,我确实不是很清楚,对象的好处吧。谁知道解释一下,我也很想知道。

你可能感兴趣的:(javascript mailto outlook 乱码的解决办法)