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