- 2009-11-19 (木) 23:01
- HTML | JavaScript
一昔前のサイトにはよくあった、メーラーを立ち上げるリンク
<a href="mailto:hogehoge@hoge.ne.jp">お問い合わせ</a>ですが、久々に使う機会がありました。 このリンクを叩いてメーラーが起動した際に、「件名」や「本文」を入れたい、とのことでした。
とりあえず一般的な方法としては、
<a href="mailto:hogehoge@hoge.ne.jp?subject=件名&body=本文">お問い合わせ</a>とするのですが、 これがなかなか厄介なようです。 環境によっては記入される「件名」や「本文」が文字化けするようです。
そこで、タイトルの通り検証を行ってみました。何故 Outlook と Thunderbird なのかは、たまたま手元にあったからです。
前置きはいいからできんの?できないの? って言う人もいると思うので結論から書いてしまうと、
一つのリンク(一つの<a>タグ)で Outlook、Thunderbird 共に共通の表示をさせる(文字化けさせない)ことは現状不可能
と考えられます。
つまり、どちらも文字化けさせないためには お問い合わせ (文字化けする方はこちら) のようにリンクを二つに分けなければいけないわけです。 (ただし、今回は上記のとおり Outlook と Thunderbird でしか検証を行っていないため、メーラーによってはリンクがもっと増える可能性はあります。)
で、検証した内容とかは下記。
まず、文字化けが起きる原因は以下の3つ。
- OS
- ファイルのエンコード
- URLエンコード
OS
Windows か Mac かによって文字化けが起きたり起きなかったりするようです。 URLエンコードなしのベタ書きなら Mac は文字化けは起きないとのこと。 逆にURLエンコードすると色々と不具合があるようです。 詳細は下記リンクより。
参考:<a href=”mailto:”>をJavascriptで記述する | IMAGINATION DESIGN
自分の方で Mac での検証ができてないので不完全ではあります。 とりあえずここから先は Windows 環境でのみ検証していきます。
ファイルのエンコード、URLエンコード
ファイルのエンコードとURLエンコードはどうも切り離せそうもないのでまとめてしまいます。 いずれ表でもつくります。
ファイル:SJIS + URLエンコードなしの場合
Outlook では文字化け。 Thunderbird では正常。
ファイル:SJIS + URLエンコード:UTF-8(JavaScript の encodeURIComponent() を用いてエンコード) の場合
Outlook では文字化け。 Thunderbird では正常。
ファイル:SJIS + URLエンコード:SJIS の場合
Outlook では正常。 Thunderbird では文字化け。
ファイル:UTF-8 + URLエンコードなしの場合
Outlook では文字化け。 Thunderbird では正常。
ファイル:UTF-8 + URLエンコード:UTF-8(JavaScript の encodeURIComponent() を用いてエンコード)の場合
Outlook では文字化け。 Thunderbird では正常。
ファイル:UTF-8 + URLエンコード:SJIS の場合
Outlook では正常。 Thunderbird では文字化け。
EUC-JP の場合、ほぼ UTF-8 と同じ挙動となります。 さらに、Thunderbird だけでも、エンコードによっては IE とそれ以外のブラウザで化けたり化けなかったりするようです。
これに至る間に なんとかしてSJISでエンコードしてー…iframeつかってー…ライブラリつかってー… とかいろいろ考えてたのですが、結局のところ、
メーラーの振り分けが現状のブラウザの仕様ではできないため、不可能
という結論に至りました。
急いで書いたので後半よくわからないことになってますが、とりあえず。
- Newer: 【正規表現】全ての半角記号を選択
- Older: 【Photoshop Script】フォルダ内のPSDファイルをGIFで書き出すJSX
Comments:1
- gecko 09-11-20 (金) 11:05
-
お疲れ様。 ブラウザ判別ならぬメーラー判別は無理ですものね。 フォーム作ったほうがいいと思うけど。 もっと別の方法が考えられたらいいんだが。
Trackbacks:0
- Trackback URL for this entry
- http://unolabo.boo.jp/archives/2009/11/19-mailto-%e3%81%ab%e3%80%8c%e4%bb%b6%e5%90%8d%e3%80%8d%e3%82%92%e5%85%a5%e3%82%8c%e3%81%9f%e9%9a%9b%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91%e5%af%be%e7%ad%96.html/trackback
- Listed below are links to weblogs that reference
- 【検証】<a href=”mailto:”> に「件名」を入れた際の Outlook 、及び Thunderbird の文字化け対策 from うのらぼ。