• ベストアンサー

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

  • HTML
  • 回答数3
  • ありがとう数5

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

  • ベストアンサー
  • 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

  • 英文字を含む文字列のURIエンコードについて

    宜しくお願いいたします。 以下のサイトでHTMLソースの一部をURIエンコードして、javascriptでデコード・書き戻して利用する方法についての記述を見つけました。 http://ameblo.jp/azuki-milk-lush/entry-10559249105.html このページには、以下のようにエンコードされている事例が掲載されています。 document.write('<a href="mailto:メールアドレス">お問い合わせ</a>'); ↓ %64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%6D%61%69%6C%74%6F%3A%73%75%70%70%6F%72%74%40%73%74%61%2D%6C%6F%67%2E%63%6F%6D%22%3E%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%3C%2F%61%3E%27%29%3B 上記では一見アルファベットも識別できないような形でエンコードされています。 早速このページで紹介されている変換サービスサイトで、実験をしてみたのですが、同じような結果にはなりません。 http://itsd210.s24.xrea.com/ja/urlencode/ 【▼こうなってしまう▼】 document.write('<a href="mailto:メールアドレス">お問い合わせ</a>'); ↓ document.write('%3Ca%20href%3D%22mailto%3A%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%22%3E%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%3C%2Fa%3E')%3B 一見してアルファベットも識別できないような変換はどのようにすれば行えるのでしょうか? 詳しい方がいらっしゃいましたら、ご教示願います。 何卒、宜しくお願い申し上げます。

    • ベストアンサー
    • HTML
  • mailto についての質問です。

    mailto についての質問です。 いつもお世話になっています。 HTMLで「お問い合わせはこちらから」というボタンを作り、以下の様なコードを書きました。 <p><a href="mailto:メアド?subject=%82%a8%96%e2%82%a2%8d%87%82%ed%82%b9"><img src="画像" alt="メールでのお問い合わせはこちらから" width="677" height="152" /></a></p> Windowsからはボタンをクリックすると新規メールが立ち上がるのですが、Macからですと、メールソフトがアクティブになるだけで、新規メールが立ち上がりません。 エンコードしている部分を、エンコードせずに書き込むと、Macでは立ち上がりますが、Windowsでは件名が文字化けします。 なにか対処法はございますでしょうか。

    • ベストアンサー
    • HTML
  • perl で mailto: リンク

    perl で書かれた CGI のソースに、$vout 変数内に a タグで mailto: のリンクが書いてあり、クライアントが リンクを踏むと、メーラーが立ち上がるようになっています。 が、mailto: に subject と body を含めて、かつ body には改行を含めたいのですが、どうしてもエラーになってしまいます。 以下を含める場合、どのように書けばよいのでしょうか ? <持込に関して> ← subject ↓本文 @お名前[改行] @ご住所[改行] @お電話番号[改行] <問い合わせ内容詳細> ちなみに URLエンコードで <a href="mailto:yourname@yourhost.yourdomain?subject=%8E%9D%8D%9E%82%C9%8A%D6%82%B5%82%C4&body=%40%82%A8%96%BC%91O%5B%89%FC%8Ds%5D%0D%0A%40%82%B2%8FZ%8F%8A%5B%89%FC%8Ds%5D%0D%0A%40%82%A8%93d%98b%94%D4%8D%86%5B%89%FC%8Ds%5D%0D%0A%3C%96%E2%82%A2%8D%87%82%ED%82%B9%93%E0%97e%8F%DA%8D%D7%3E"></a> としてもサーバエラーになってしまいます。 subjectやbody をつけなければ動くのですが、どこがいけないんでしょうか ? ソースは ShiftJISになっています。よろしくお願いします。

    • ベストアンサー
    • Perl
  • Thunderbird での文字化け

    サンダーバード1.0.2を使っています。 HP上でメールのリンクをクリックすると、メーラーが立ち上がりますよね? その時に件名がある場合、それが文字化けしてしまうのです。 HPのソースで「mailto:info@mail.co.jp?Subject=お問い合わせ」となっている場合、件名が訳のわからない記号の羅列になってしまい正しく表示されません。 文字エンコードは受信も送信もISO-2022-JPにしています。どうすれば正しく表示されるようになるか教えて下さい。

  • リンク作成方法について

    以下のリンクをhtmlに記述しました。 その後htmlチエッカーに掛けたところ、エラーの警告が出たため、前回ご質問させて頂いたところ 以下よりエンコードをすれば良い。とご指導をいただきました。 http://www.shtml.jp/mojibake/urlencode.html <a href="mailto:お友達のメール@アドレス?Subject=参考になるかな?ページ見つけたよ!&amp;body=参考になるかも?見てみてね!">友達にメールですすめる</a> 上記をエンコードしたところ、以下のように表示されましたが、このままhtmlに貼り付ければ良いのでしょうか? 実際にやってみたところ、うまくいきませんでした。 %3Ca%20href%3D%22mailto%3A%82%A8%97F%92B%82%CC%83%81%81%5B%83%8B%40%83A%83h%83%8C%83X%3FSubject%3D%8EQ%8Dl%82%C9%82%C8%82%E9%82%A9%82%C8%81H%83y%81%5B%83W%8C%A9%82%C2%82%AF%82%BD%82%E6%81I%26amp%3Bbody%3D%8EQ%8Dl%82%C9%82%C8%82%E9%82%A9%82%E0%81H%8C%A9%82%C4%82%DD%82%C4%82%CB%81I%22%3E%97F%92B%82%C9%83%81%81%5B%83%8B%82%C5%82%B7%82%B7%82%DF%82%E9%3C%2Fa%3E よって以下のようにもやってみたのですがうまくいきませんでした。 <a href="mailto:お友達のメール@アドレス?Subject=%3Ca%20href%3D%22mailto%3A%82%A8%97F%92B%82%CC%83%81%81%5B%83%8B%40%83A%83h%83%8C%83X%3FSubject%3D%8EQ%8Dl%82%C9%82%C8%82%E9%82%A9%82%C8%81H%83y%81%5B%83W%8C%A9%82%C2%82%AF%82%BD%82%E6%81I%26amp%3Bbody%3D%8EQ%8Dl%82%C9%82%C8%82%E9%82%A9%82%E0%81H%8C%A9%82%C4%82%DD%82%C4%82%CB%81I%22%3E%97F%92B%82%C9%83%81%81%5B%83%8B%82%C5%82%B7%82%B7%82%DF%82%E9%3C%2Fa%3E</a> 記述方法のご指導よろしくお願いします。

    • ベストアンサー
    • HTML
  • mailto:の本文に文字数制限はありますか?

    こんにちは mailto: で、宛先、件名、本文を指定したメールを 起動しようとしていますが、 ?body="" 内に記載する文字が一定数を超えると、 メーラーを起動できなくなります。 body に記載できる文字数に制限はありますでしょうか。 また、これを回避する方法はありますでしょうか。 ご存知の方がいらっしゃいましたら、 よろしくご教示ください。 該当箇所は、以下のように記述しています。 <li>○○の場合は<a href="mailto:xxxxx@xx.xx.jp?subject=[xxxxx] xxx&cc=xxx@xx.xx.jp&body= ○○ご担当者さま%0d%0a .....<中略> ">こちら>></a></li> 文字数は、ざっと1200ワードです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • EUC文字体系のhtmlから、mailtoでWindowsのメーラーを呼び出してもsubject文字化けさせない方法を教えてください

    EUCコードで書かれたhtmlソースページにて、次のように外部メーラーを呼びだすようにタグを書いた場合、 <A HREF="mailto:test@test.com?cc=admin@net.co.jp?subject=テストです?body=本文です">メールはこちら</A> ブラウザから当該リンクをクリックして、メーラーが起動されたときに、subject/本文ともに文字化けを起こしています。 (ちなみにメーラーはBeckyで試しています) これは、Windows環境がShift-JISのためだと思い、上記のタグの中で、日本語の部分だけ、Shift-JISに変えるようにしてみました。 <A HREF="mailto:test@test.com?cc=admin@net.co.jp?subject=・ニ・ケ・ネ、ヌ、ケ?body=ヒワハク、ヌ、ケ">メールはこちら</A> それでもやはりsubject/本文ともに文字化けします。(最初のものとは違う化け方です) htmlページはeuc文字体系から変えないものとして、上記のような文字化けを回避するhtmlの書き方について教えてください。

    • ベストアンサー
    • HTML
  • mailtoでの文字化け

    メールソフトの起動時、件名と本文を予め表示させたいのですが、 <a href="mailto:example_mail@xxx.jp?subject=件名&body=本文"> 上記のような記述をすると、日本語部分が文字化けしてしまいます。 サイトで調べると、この記述で表示されるようなのですが。 どこが悪いのかお分かりの方、お手数ですがご教示願います。

  • URLエンコードについて

    「 † 」 の文字をUTF-8 でURLエンコードした時の値が2種類あるんでしょうか。 以下の2つのURLエンコードした文字を %EF%BC%8D %E2%80%A0 URLエンコード/ デコードの結果を出力してくれる こちらのサイトと https://www.tagindex.com/tool/url.html こちらのサイト https://tech-unlimited.com/urlencode.html で結果が異なるみたいです。 なぜこういった結果が異なる状況が生まれるのでしょうか そして正しいのはどちらなのでしょうか

  • mailto の本文の文字化けについて

    13年ほど前、HTML 4.01 でホームページを作り、各種お問い合わせに mailto を使っていましたが、数年前から、mailto の本文が文字化けしていることに気づきました。(mailto の件名は文字化けしていません) 少し前まで、windows7 IE9 を使っていました。Google Chromeの最新版でも本文のみ文字化けしています。自分のメーラーは、windows Live メールです。 最近、windows7 IE10 にアップグレードしたところ、mailto の本文の文字化けがなくなったのですが、Google Chrome では、やはり本文のみ文字化けしたまま。 いろいろ調べて“エンコードすればいい”というのを見つけ、エンコードしてみました。 エンコードの保存に、UTF-8 と Shift-JIS がありましたが、どちらで保存して試してみても、Google Chrome では、本文のみ文字化けします。(IE10 では、どちらで保存しても、本文は文字化けしません) CGI を使ってみようかと思い、Tayori に登録してみたのですが、登録はできたものの、ログインすることができず(エラーメッセージが出て、メッセージに従って対処してもログインできなかった)、挫折しました。簡単にできるらしいものでさえ、こんな感じなので、mailto でなんとか文字化けしないようにできないかと思い、質問させていただきます。カテゴリーがここであっているかどうかわからないのですが…どうぞ、よろしくお願いいたします。 ちなみに、ソースは str="メールアドレス"; document.write(str.link("mailto:メールアドレス?subject=件名&body=以下の項目にご記入をお願いいたします。%0d%0a%0d%0a●●:%0d%0a%0d%0a●●:%0d%0a%0d%0a●●:%0d%0a%0d%0a●●:")); ●●の部分が、問い合わせ内容によって変えている部分です。

    • ベストアンサー
    • HTML

専門家に質問してみよう