一回も披露したことのない豆知識

URLエンコード  文字数について


<a href="mailto:info@example.com?subject=%96%e2%82%a2%8d%87%82%ed%82%b9">メールはこちらへ</a>

などHTMLの記述で文字化けを防ぐために下記文字列のように
%96%e2%82%a2%8d%87%82%ed%82%b9

日本語をエンコードしていますが、ある一定以上の文字数を入力すると、そのリンクをクリックしてもメールソフトが起動しません。

文字数の制限があるのでしょうか?
詳しい方いらっしゃいましたら教えて下さい。
宜しくお願いします。

A 回答 (3件)

きょうび色々問題があるのでmailtoでメーラーを起動するなんて


はやってないですが、釣りかなと思いつつ真面目に回答します。

GET自体に明確な文字数制限はなさそうですが、常識的に無尽蔵に
文字をつなげられるわけではないので、ブラウザやメーラーによって
それぞれの解釈で制限があるんじゃないですかねぇ・・・

http://support.microsoft.com/kb/208427/ja
http://blog.kaburk.com/browser/ie-url-max-2083.h …
    • good
    • 0

色々なメーラーがありますので、どのメーラーがどんな仕様かわかりませんし、正確な方法もわかりませんが、


ウチのOutlookで試してみると、エンコードが文字化けしました・・・
<a href="mailto
の方法では全てのユーザーがメールを送信する事が出来ないはずです。
(メーラーが起動しない)
-------------------------------------------

メールアドレスを表示するか、
CGIなどのメールフォームを作る事をおすすめします。
    • good
    • 0

HTMLでは、hrefの値としてmailto:は定義されていません。


Links in HTML documents (ja) ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
 この指定でメールクライアントが起動するのは、完全にブラウザ依存です。このように、QUERY_STRINGでURLとして渡さない場合は、URLエンコードする必要はないはずです。
<a href="mailto:info@example.com?subject=問い合わせ">メールはこちらへ</a>
でよいはずですが??

★ですが、この方法は本来の方法ではありません。formを使って、サーバーにあるプログラムにデータを渡しましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!