UTF-8コードでのmailtoの文字化け

このQ&Aのポイント
  • _HPをつくったのですが、mailtoにsubjectを追記してメールフォームを作成しました。ですが、件名のところがどうしても文字化けしてしまうので、文字をエンコードしたものを貼り付けて何とか対応しました。
  • ウィンドウズXPまでの古いブラウザでは大丈夫なものの、VISTAでは文字化けしてしまうようです。outlookなどのバージョンの問題なのでしょうか?それともOS?
  • UTF-8を単純にShift-JISに置換した場合、レイアウトとうすべてがぐちゃぐちゃになってしまいます。たくさんのページをUTF-8からShift-JISに変換する方法はありますか?
回答を見る
  • ベストアンサー

UTF-8 コードでのmailtoの文字化け

HPをつくったのですが、(HTMLのエンコードはUTF-8です。) mailtoにsubjectを追記してメールフォームを作成しました。ですが、件名のところがどうしても文字化けしてしまうので、文字をエンコードしたものを貼り付けて何とか対応しました。しかし、ウィンドウズXPまでの古いブラウザでは大丈夫なものの、VISTAでは文字化けしてしまうようです。 どうしてこうなってしまうのでしょうか?outlookなどのバージョンの問題なのでしょうか?それともOS? わかりません。理由をご存知の方、また解決策をご存知の方、どうぞ教えてください。 あと、こんなこと問題外といわれるかもしれませんが、UTF-8を単純にShift-JISに置換したのですが、レイアウトとうすべてがぐちゃぐちゃになってしまいました。たくさんのページをUTF-8からShift-JISに変換しても良い方法というのはないのでしょうか?この点も併せて回答お願いいたします。

  • HTML
  • 回答数1
  • ありがとう数1

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

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

 mailtoはあくまであなたが自分用に利用する分には使えますが、HTMLの仕様としては含まれていません。 【引用】____________ここから action = uri [CT]  この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Forms in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#h-17.3 )]より  あなたのご使用のブラウザが、このactionでメールクライアントを起動するのは、そのブラウザ独自の拡張というかおまけで、他のOSやブラウザにとって有効なものではありません。  仕様書に書かれているように、formではHTTPでサーバーに対してデータを送信するためのものです。【form/actionの値にmailtoが書かれているマニュアルが存在するとは思えませんし、もしあればそのマニュアルを書いた人物は仕様書すら読んでいない可能性が大ですね】  action=http://*** でサーバーに送信して、サーバーはそれをCGIでMailの仕様にあわせて ・文字コードをiso-2022-jp ・一行の文字数 ・タイトルなどのBaseエンコード  などを作成して。サーバー上のMTAに渡します。  mailto:を使う限り解決はできない問題です。 >UTF-8を単純にShift-JISに置換したのですが、レイアウトとうすべてがぐちゃぐちゃになってしまいました  リンク先のlangが指定されていない場合、ブラウザは基本的にリンク先もHTMLに使用されている文字コードと同じと解釈します。HTMLと同じエンコードで記述し、CSSにもcharsetを正しく記述するとよいでしょう。 ★別の質問は、内容がよくわかる別タイトルで質問したほうがよいです。

関連するQ&A

  • 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
  • Perl 文字コードについて

    From: $from To: $mailto CC: $mailcc Subject: $subject Mime-Version: 1.0 Content-type: text/plain;charset=\"UTF-8\" Content-Transfer-Encoding: 8bit この時点で、UTF-8を指定しました。 use Encode; use Encode::Guess; Encode::Guess->set_suspects( qw/ euc-jp shiftjis 7bit-jis / ); $name = encode('UTF-8', decode('Guess', $name)); で本文を、UTF-8に変換して送るようなコードを書きました。 これで一応、パソコン、スマホ共に「本文」は文字化けせず送れるのですが、 今度、別の問題が発生してしまったようで、 「件名」が文字化けしてしまうようになりました。 $subject = encode('UTF-8', decode('cp932', $subject)); 件名も、本文と同じように変換コードをしてみたところ、パソコンでは文字化けしませんでしたが「件名」で文字化けしてしまいます。 調べたところ本文と件名では、内容が違い MIMEエンコードを使用するとのことだったのですが、 実際どのように使うのかわからないです。 $subject = encode('ISO-2022-JP', decode('cp932', $subject)); encode('MIME-Header-ISO_2022_JP', $subject) このように記述するとスマホでは文字化けしないのですが パソコンで文字化けしてしまいます。 そこで、件名がパソコンとスマホで文字化けしないようにし、本文はUTF-8で送るようにするにはどのようにすればいいのでしょうか?

    • ベストアンサー
    • Perl
  • mailtoで文字化けする場合

    Shift JISでコーディングされたサイトです。 mailtoにタイトルを入れる為、UTF8にエンコードして htmlに記述しました。 それを、MACのsafariで表示しリンクをクリックしたところ 表示されたタイトルが文字化けしてしまいました。 対処法として、どこが間違っているのかご教授ください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • PHPのコードをUTF-8に変換したい。

    なんとかメールフォーム設置までこぎ着けたのですが、届いたメールが文字化けしてしまいます。HTMLの文字コードがUTF-8、PHPの文字コードがshift-jisなので原因はそこだと考えたのですがPHP内のshift-jis表記をUTF-8に変えるとPHP内で文字化けが起こってしまいます。 MultiTextConverterなどのアプリケーションを使っても同様の文字化けが起こります。 どうすればいいのか分かりません。 よろしくお願いします。

    • 締切済み
    • PHP
  • 文字コードsjisをUTF8に書き換えたい

    CGIの勉強中の者です。 文字コードはSJISで保存しているCGIをUTF8コードに換えるには何が必要でしょうか? HTMLならmeta内をSJISからUTF8に変更し、TeraPadなどのテキストエディタでUTF8に保存すればオッケーなんですが。 CGIの場合はHTMLと違って、換えるには複雑なのでしょうか? CGIプログラムの中では以下の「sjis」を「UTF8」に書き換えし、UTF8で保存しましたけど、文字化けが出てます。 <meta http-equiv="Content-Type" content="text/html;charset=shift_jis"> &jcode'h2z_sjis(*contenido) &jcode'convert(*subject,'sjis'); &jcode'convert(*infor,'sjis'); &jcode'convert(*contenido,'jis'); &jcode'convert(*res_msg,'jis'); print "Content-type: text/html;charset=shift_jis\n\n"; 宜しくお願いします。

    • 締切済み
    • CGI
  • 一括置換で、すべてが文字化け!

    こんばんわ。 HTMLのcharsetをドリームウィーバーで一括置換したところ、 文字化けしてしまいました。 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> を下記のように一括置換で変更しました。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> UTF-8に一括置換で変更しました。 一括置換したところ、一括置換したHTMLのソースが全て 文字化けしてしまいました。 なぜでしょうか? 手打ちで変更しても何も問題は無かったのですが、一括置換を すると文字化けしてしまいます。 ドリームウィーバーの問題なのでしょうか? ドリームウィーバーはCS3を使用しています。 ご存じのかたがいらっしゃいましたら、ご助言頂けませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 文字コードについて

    エンコードをUTF-8でHTMLを作成することの問題点としてはどんなことがありますか? 例えば文字化けする環境などを教えていただけませんでしょうか? Shift_JISでサイトを作ってますが、文字化けする字をよく使い、それを画像で処理するのではなくてテキスト情報として扱いたいのでUTF-8にしようと思い、質問させていただきました。

  • 文字コードでなる文字化けの直し方お願いします。

    海外のWEBHOSTサーバーの WE○NGというところを使っているのですが。 HTMLの記述で charset="Shift_JIS" とすると日本語が文字化けします。 Shift_JIS を EUC-JP iso2022-jp UTF-8 ASCII と色々変えてみても、全部日本語が文字化けしました;; 文字化けにならない、日本語が表示されるにはどうしたらよいでしょうか。 お知りの方 よろしくお願いします。

  • mailto:に件名を入れると文字化けします

    当方へメールを送ってもらうときに、件名も同時に入れたいのですが、件名が文字化けします。 <a href="mailto:***@***.ne.jp?subject=●●●">△△△</a>としたのですが、試しにハイパーリンクの部分(△△△)をクリックすると、件名欄が文字化けしています。 件名に英数字を使えばいいのでしょうが、日本語を使いたいのです。 ほかの人のものは、ちゃんと件名が日本語で表示されているのですが、どうしたらちゃんとした日本語が表示できるでしょうか。 わかりにくい文章で申し訳ありませんが、ご回答をお待ちしています。

  • モバイル端末の文字コードについて

    javaで作成した携帯のページがあり、htmlの<a>タグにクエリを使い値をjavaファイルに渡しているんですが、エンコードをしても文字化けしてしまいます。 UTF-8、SHIFT-JISでエンコードとデコードを試してみたのですが、SHIFT-JISではカタカナが文字化けしてしまい、UTF-8では全ての文字が文字化けしてしまいます。 フレームワークの仕様の都合上、クエリで渡すのが一番ベストの方法なので、なんとかクエリで文字化けせず渡したいのですが、どうにか良い策はないでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう