2

件名とメール本文にフランス語のアクセント付き文字を含むmailtoリンクを作成しようとしています。文字をエンコードするHTMLとURIの両方が機能しません。これが私のコードです:

<a href="mailto:%20?subject=ce%20titre%20est%20cass%C3%A9.&body=travaux%20deja!%20cesser%20d'%C3%AAtre%20t%C3%AAtu">SEND EMAIL</a>

URIエンコードなしでも同じ結果が発生します。

<a href="mailto:?subject=ce titre est cassé&body=travaux deja! cesser d'être têtu">SEND EMAIL</a>

どうしても、新しいメールは壊れた文字で開きます。URIエンコードされたスペースと改行は正常に機能しますが、ANSI以外のものはすべて壊れています。私はMSOutlook2007の英語版とフランス語版の両方でテストしていることに注意してください。これを機能させる方法を知っている人はいますか?

4

4 に答える 4

3

IE 8 では設定オプションです。ツール -> オプション -> 詳細設定。International の下で、「mailto リンクに UTF-8 を使用する」オプションをチェックします。

Windows XP では、この設定はデフォルトで無効になっています。Windows 7 では、デフォルトで有効になっています。

お役に立てれば

于 2012-01-03T16:35:19.453 に答える
2

メールヘッダーのすべて (件名を含む) は、この RFC に従って MIME エンコードする必要があります。

http://www.ietf.org/rfc/rfc2047.txt

これを行うのは簡単ではありませんが、ほとんどの言語でそれを処理するコードを見つけることができます。

適切にエンコードされたテキストは次のようになります。

=?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=

編集:これを試して、それがあなたが望むものかどうかを確認してください。

<a href="mailto:your@email.com?subject=%3d%3fISO-8859-1%3fB%3fY2UgdGl0cmUgZXN0IGNhc3Pp%3f%3d&Content-Type=text%2fplain%3b+charset%3dISO-8859-1&body=travaux%20deja!%20cesser%20d'%C3%AAtre%20t%C3%AAtu">SEND EMAIL</a>

email を自分のアドレスに置き換えます。

于 2009-09-24T15:45:50.970 に答える
1

とった!これは、Microsoft Outlook/Entourage のバグである場合とそうでない場合があります。デフォルトのメール リーダーを Mail.app に変更したところ、urlencoding で美しく動作します。(おそらく)バグは、例の2つのアクセント付きe文字の1つにのみ影響するようです。Outlook/Entourage がミリバイトの UTF8 文字を正しく処理していない可能性がありますか?

于 2009-09-24T16:45:27.167 に答える
1

たとえば、mootools (ただし、別のフレームワークまたは「生の」javascript である可能性があります) を使用する場合、私は通常これを行い、メインのブラウザー/クライアントで mac/pc で動作します。

window.addEvent('domready', function(){
    //get the links to encode
    var links_to_encode = $$('#page ul li a');

    links_to_encode.each(function(link){
        //check if the link has an href
        var original_href = link.get('href');
        if(original_href){
            //substitute it with the encoded version
            link.set('href',encodeURI(original_href));
        }
    });
});//fine domready

さよなら!

于 2011-02-09T16:10:47.857 に答える