mailtoでメールの本文に日本語をしていすると、ソフトによって文字化けしたり、しなかったりします。
すべてのメールソフトで文字化けさせない方法はありませんか?たとえば、文字化けするパターンが2種類くらいなら、2つボタンを付けて、「文字化けする場合はこちら」と分けてもいいです。
また、mailtoで指定できるメールの本文の文字数の制限はあるのでしょうか?
ちなみに、こういったことを簡単に解決できるjavascriptのクラスはないのでしょうか?
クライアントのOSやブラウザ、メールソフトによって、いろいろあるようですね。navigatorオブジェクトでOSやブラウザは取得できますが、デフォルトのメールソフトまではわかりません。
http://www.shtml.jp/mojibake/mailto.html
別解として、わたしならサーバサイドでメール送信してしてしまいます。たとえばPHPならこんな感じです。
http://www.sapphirus.biz/php/sformmail/
本文の制御とかもHTMLでできるのでラクです。
すべてのメールソフトで文字化けさせない方法はありませんか?
メーラーに文字コードを伝える手段が無いので、ないと思います。
以下に一部の環境でテストした結果を記載しておきます。
(表にするのが面倒だったので、少々見難いですが…)
(A)Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4
(a)Outlook Express 6.0
ページの文字コード(Shift_JIS) × ページの文字コード(Shift_JIS)をURIエンコード ○ ページの文字コード(EUC-JP) × ページの文字コード(EUC-JP)をURIエンコード × ページの文字コード(ISO-2022-JP) × ページの文字コード(ISO-2022-JP)をURIエンコード ? ページの文字コード(UTF-8) × ページの文字コード(UTF-8)をURIエンコード ×
(b)Gmail
ページの文字コード(Shift_JIS) ○ ページの文字コード(Shift_JIS)をURIエンコード × ページの文字コード(EUC-JP) ○ ページの文字コード(EUC-JP)をURIエンコード × ページの文字コード(ISO-2022-JP) ○ ページの文字コード(ISO-2022-JP)をURIエンコード ? ページの文字コード(UTF-8) ○ ページの文字コード(UTF-8)をURIエンコード ○
(B)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
(a)Outlook Express 6.0
ページの文字コード(Shift_JIS) ○ ページの文字コード(Shift_JIS)をURIエンコード ○ ページの文字コード(EUC-JP) × ページの文字コード(EUC-JP)をURIエンコード × ページの文字コード(ISO-2022-JP) ○ ページの文字コード(ISO-2022-JP)をURIエンコード ? ページの文字コード(UTF-8) × ページの文字コード(UTF-8)をURIエンコード ×
とても細かな結果をおしえていただき感謝します。
なかなか難しい問題なんですね。
ありがとうございます。
サーバサイドで送ると、メールソフトのアドレス帳が使えないのが、困るんです。