- ベストアンサー
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 日本語をエンコードしていますが、ある一定以上の文字数を入力すると、そのリンクをクリックしてもメールソフトが起動しません。 文字数の制限があるのでしょうか? 詳しい方いらっしゃいましたら教えて下さい。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
きょうび色々問題があるのでmailtoでメーラーを起動するなんて はやってないですが、釣りかなと思いつつ真面目に回答します。 GET自体に明確な文字数制限はなさそうですが、常識的に無尽蔵に 文字をつなげられるわけではないので、ブラウザやメーラーによって それぞれの解釈で制限があるんじゃないですかねぇ・・・ http://support.microsoft.com/kb/208427/ja http://blog.kaburk.com/browser/ie-url-max-2083.html
その他の回答 (2)
- naokita
- ベストアンサー率57% (1008/1745)
色々なメーラーがありますので、どのメーラーがどんな仕様かわかりませんし、正確な方法もわかりませんが、 ウチのOutlookで試してみると、エンコードが文字化けしました・・・ <a href="mailto の方法では全てのユーザーがメールを送信する事が出来ないはずです。 (メーラーが起動しない) ------------------------------------------- メールアドレスを表示するか、 CGIなどのメールフォームを作る事をおすすめします。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
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を使って、サーバーにあるプログラムにデータを渡しましょう。