• ベストアンサー

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

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 日本語をエンコードしていますが、ある一定以上の文字数を入力すると、そのリンクをクリックしてもメールソフトが起動しません。 文字数の制限があるのでしょうか? 詳しい方いらっしゃいましたら教えて下さい。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

きょうび色々問題があるのでmailtoでメーラーを起動するなんて はやってないですが、釣りかなと思いつつ真面目に回答します。 GET自体に明確な文字数制限はなさそうですが、常識的に無尽蔵に 文字をつなげられるわけではないので、ブラウザやメーラーによって それぞれの解釈で制限があるんじゃないですかねぇ・・・ http://support.microsoft.com/kb/208427/ja http://blog.kaburk.com/browser/ie-url-max-2083.html

その他の回答 (2)

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.3

色々なメーラーがありますので、どのメーラーがどんな仕様かわかりませんし、正確な方法もわかりませんが、 ウチのOutlookで試してみると、エンコードが文字化けしました・・・ <a href="mailto の方法では全てのユーザーがメールを送信する事が出来ないはずです。 (メーラーが起動しない) ------------------------------------------- メールアドレスを表示するか、 CGIなどのメールフォームを作る事をおすすめします。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

HTMLでは、hrefの値としてmailto:は定義されていません。 Links in HTML documents (ja) ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/links.html#adef-href )  この指定でメールクライアントが起動するのは、完全にブラウザ依存です。このように、QUERY_STRINGでURLとして渡さない場合は、URLエンコードする必要はないはずです。 <a href="mailto:info@example.com?subject=問い合わせ">メールはこちらへ</a> でよいはずですが?? ★ですが、この方法は本来の方法ではありません。formを使って、サーバーにあるプログラムにデータを渡しましょう。

関連するQ&A