dポイントプレゼントキャンペーン実施中!

■環境 Win7+ホームページビルダー17+Liveメール
この環境で作った下記の問い合わせフォームを返信すると文字化けを起します。
回避方法など教えてください。
  ※UTF-8とShift_JISの入れ替えは試してみましたが……
------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 17.0.1.0 for Windows">
<title></title>
<script type="text/javascript" LANGUAGE="JavaScript" src="HpbQuestion80.js" charset="Shift_JIS"></script>
<script type="text/javascript" LANGUAGE="JavaScript">
<!--HPB_SCRIPT_ELQ_80_DATA
var HpbELQData = {idPrefix:"Q",questions:[
{type:"Description",mandatory:true},
{type:"Description",mandatory:true},
{type:"Description",mandatory:false}]};
//-->
</script>
</head>
<body onload="HpbELQInit();">
<p><br>
</p>
<div id="HPB_ELQNRDIV">
<h1>(問い合わせ)</h1>
<hr>
<p>お問い合わせ</p>
<form name="HPB_ELQ_QUESTION" onsubmit="return HpbELQCheck();" onreset="HpbELQReset();" enctype="text/plain" action="mailto:xxxx@xyz.com?Subject=(問い合わせ)" method="POST"><br>
~~~~~~~~~~
~~~
--------------
文字化け状況
Q1=テ・ツ絶€ーテヲツ昶€・
Q2=xxxx@xxxxx.com
Q3=テ」竄ャ窶・01-0061テ」竄ャ竄ャテヲツ敖アテ、ツコツャテゥニ陳ステ・ツ哉津、ツサツ」テァ窶敖ーテ・ナ陳コテ、ツク窶ーテ・ツエナステァ

A 回答 (2件)

いゃ、そりゃダメです。


フォームは、ご存知の通り
【引用】____________ここから
HTMLのフォームは、・・・【中略】・・・コントロールを変更してフォームを「完成」させ、その後フォーム処理のためにWebサーバやメールサーバ等のエージェントへとフォームを提出する。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Forms in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
 直接 <form action-"mailto:*****">としてもjavascriptを経由しても、mailの仕様には合いません。
 メールは基本的にiso-2022jpの文字コードで送信しないと、受信者側の条件では文字化けしてしまいます。UA(ユーザーエージェントで文字コードを指定しなおすと一応は読めますが・・

 かならず、CGIを利用したメール処理プログラムをサーバーにおいて、それに送信しないとなりません。
"フォームメール"で検索すると、たくさん公開されています。
ビルダーにも、メールフォームを処理するCGIの説明があり、簡単なものなら付属しています。
 mailフォームを処理するCGIをテキストエディタで開いて、自分の条件に合うよう編集する。--ごり様のサーバーのperlやsendmailへのパスを書き換えたり、送信先など
 サーバーにアップロードする。
 実行権限を与えるる
 フォームの提出先をそのプログラム宛にする。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
CGIを使わずに簡単な方法で作ってみたかったのですが…。

お礼日時:2015/12/03 10:26

元々,RFC2368 (

http://www.ietf.org/rfc/rfc2368.txt ) の定義では,mailtoスキームのbodyとしてencoded wordを含めることができませんでした。
RFC6068 ( http://www.ietf.org/rfc/rfc6068.txt ) の定義で,ようやくUTF-8でのパーセントエンコーディングが許されましたが,
・ブラウザがこれに対応している
・メールクライアントがこれに対応している
の2つが必要になります。

仕様としてHTML 4.01ではmailtoプロトコルに対して動作は未定義とされていて,HTML 5でちゃんと定義されました。
http://www.w3.org/TR/html4/interact/forms.html#a …
http://www.w3.org/TR/html5/forms.html#submit-mai …
とはいえ,RFC 6068は2010年制定のため,以前との互換性維持のためにブラウザにしろメールクライアントにしろ,bodyをShift_JISとして解釈している可能性もあります。

現実的には,US-ASCII以外を受け付ける物にmailtoスキームを使うのは難しいと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
文字化け回避はむりそうですね。
phpで対処してみます。

お礼日時:2015/12/09 16:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!