できないときは、どのように逃げるのがスマートでしょうか。
http://www.shtml.jp/mojibake/mailto.html
http://allabout.co.jp/career/html/closeup/CU20030623A/index2...
どういう状況・原因下での文字化けを想定されているのかがわからない(当方の勉強不足かもしれません)ので恐縮ですが、以上のようなページを挙げておきます。
これで解決できないなら、フォームメールを使ってみるのはどうでしょうか? PHPやPerlの動作環境が必要になりますが、それさえクリアできれば、まず文字化けしないフォームメールが作れます。もちろん、クリックするだけで予め決められた本文のみ送信することも可能です。
http://www.google.com/search?client=safari&rls=ja-jp&q=PHP+フォームメール&ie=UTF-8&oe=UTF-8
http://www.google.com/search?client=safari&rls=ja-jp&q=Perl+フォームメール&ie=UTF-8&oe=UTF-8
そうなんですか。
でも、HTMLはSJISで書いており、全面的にutf-8に変えるのは、難しそうですね。
それとも、エンコードする文字列だけをutf-8にすればよいのでしょうか。
試してみます。
URLエンコードすれば良い話だと思うのですが、それで解決しませんか?
例えば、
<a href="mailto:foo@bar.com?body=○×案件">お便りはこちら</a>
を Shift_JIS でURLエンコードすれば、
<a href="mailto:foo@bar.com?body=%81%9B%81%7E%88%C4%8C%8F">お便りはこちら</a>
となります。
このキーワード「○×案件」を「%81%9B%81%7E%88%C4%8C%8F」に変更することがエンコードとなります。
※@は全角で記述してある
「TAG index」
http://www.tagindex.com/html_tag/link/a_mailto_sub.html
で、日本語本文をエンコード「したもの」と「しないもの」が記載されていますので、この例が質問者殿の希望に叶うものか試してみてはいかがですか。
「URLエンコード」で望みが叶うなら、このページからリンクされている「URLエンコード」のページをブックマークして、希望のテキストをエンコードすれば良いと思います。
化ける環境が無いので分かりませんが、エンティティ化してみるのはどうでしょう。
試したところ手元のマックでもうまくいきましたが、もともと文字化けしないのでよく分かりません。
文字化けは環境やメーラーが原因ではないのでしょうか?
HTMLはSJISで書いている状況ですが、起動するメールソフトによっても左右されそうな話ですね。
フォームの方がいいように思ってきました。
mailto古いし・・・