Home > HTML | JavaScript > 【検証】<a href=”mailto:”> に「件名」を入れた際の Outlook 、及び Thunderbird の文字化け対策

【検証】<a href=”mailto:”> に「件名」を入れた際の Outlook 、及び Thunderbird の文字化け対策

一昔前のサイトにはよくあった、メーラーを立ち上げるリンク

<a href="mailto:hogehoge@hoge.ne.jp">お問い合わせ</a>
ですが、久々に使う機会がありました。 このリンクを叩いてメーラーが起動した際に、「件名」や「本文」を入れたい、とのことでした。

とりあえず一般的な方法としては、

<a href="mailto:hogehoge@hoge.ne.jp?subject=件名&amp;body=本文">お問い合わせ</a>
とするのですが、 これがなかなか厄介なようです。 環境によっては記入される「件名」や「本文」が文字化けするようです。

そこで、タイトルの通り検証を行ってみました。何故 Outlook と Thunderbird なのかは、たまたま手元にあったからです。

前置きはいいからできんの?できないの? って言う人もいると思うので結論から書いてしまうと、

一つのリンク(一つの<a>タグ)で Outlook、Thunderbird 共に共通の表示をさせる(文字化けさせない)ことは現状不可能

と考えられます。

つまり、どちらも文字化けさせないためには お問い合わせ (文字化けする方はこちら) のようにリンクを二つに分けなければいけないわけです。 (ただし、今回は上記のとおり Outlook と Thunderbird でしか検証を行っていないため、メーラーによってはリンクがもっと増える可能性はあります。)

で、検証した内容とかは下記。

まず、文字化けが起きる原因は以下の3つ。

  1. OS
  2. ファイルのエンコード
  3. 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つかってー…ライブラリつかってー… とかいろいろ考えてたのですが、結局のところ、

メーラーの振り分けが現状のブラウザの仕様ではできないため、不可能

という結論に至りました。

急いで書いたので後半よくわからないことになってますが、とりあえず。

Comments:1

gecko 09-11-20 (金) 11:05

お疲れ様。 ブラウザ判別ならぬメーラー判別は無理ですものね。 フォーム作ったほうがいいと思うけど。 もっと別の方法が考えられたらいいんだが。

Comment Form
Remember personal info

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 うのらぼ。

Home > HTML | JavaScript > 【検証】<a href=”mailto:”> に「件名」を入れた際の Outlook 、及び Thunderbird の文字化け対策

Search
Feeds
Meta

Return to page top