• 締切済み

メール送信フォームで文字化けします

メールの送信フォームをフラッシュベースで作ってるのですが、英数字以外が文字化けしてしまいます。 例えば「テストです。」と入力した物が 「%83e%83X%83g%82%C5%82%B7%81B」と文字化けします。 getURLでメール送信のcgiのアドレスをいれ、形式は"get"にしてます。(cgiの方も合わせてます) "post"にしたら何も文字が表示されませんでした。 スクリプトの記述の一番最初のところに System.useCodepage=true と書いてもだめでした。 どうしたらいいのかわかりません。 教えていただけますか。 よろしくお願いいたします。

  • Flash
  • 回答数2
  • ありがとう数7

みんなの回答

回答No.2

Liteあがりなので、Player6についての記述がよく分からないのですが、以前、自分が送信された内容のテキストファイルを自動作成するCGIを作ったときは、textフィールドの中身をData=unescape("変換させたいテキスト"orテキストが代入された変数名)等で、いったん、デコードして入れなおしてからgetURLで送ったらうまいこといきました。 見たところ、文字化けの仕方がURLエンコードしたもの(escapeかけたもの)と同じのようです。 参考までに、参考URLのテキストボックスに「テストです」と入れて変換すると、まったく同じ文字化けになると思います。つまり、その逆をして(デコードして)から送信してみては?、ということです。(といっても他に原因があるかもしれませんが) うまくいくといいですね。

参考URL:
http://www.shtml.jp/mojibake/sjis_cgi.html
回答No.1

普通にunescapeかけてからgetURLしてみてもだめでしょうか。

teddywan
質問者

補足

ご回答ありがとうございます。 申し訳ないのですが、unescapeとはなんでしょう? それから、スクリプトは↓のようなものです。 お分かりになりましたら教えてください。 よろしくお願いいたします。 ////初期処理 //選択時の長方形を表示しない _root._focusrect = false; //メールアドレス入力制限 mail_txt.restrict = "A-Za-z0-9@._-"; //メールアドレステキストフォーカス喪失時の処理 mail_txt.onKillFocus = function(){ //メールの書式として適切でなかったら if ( !xCheckMailString(this.text)){ //フォーカスを当てる Selection.setFocus(this); } } //名前・メッセージ用テキストフォーカス喪失時処理 name_txt.onKillFocus = message_txt.onKillFocus = function(){ xSetEnabled( send_btn, xCheckInput()); } //送信ボタン設定 send_btn.onRelease = function(){ var tempMC = createEmptyMovieClip("send_mc", 888); tempMC.System.useCodepage=true; tempMC.name = name_txt.text; tempMC.mail = mail_txt.text; tempMC.age = xStringToNumber( age_txt.text ); tempMC.message = message_txt.text; //※.下記URLには送信データ処理用サーバプログラムのURLを指定する tempMC.getURL("http://xxxxxx.jp/cgi-bin/mail.cgi","_self","get"); } //送信ボタン使用不可に xSetEnabled( send_btn, false);

関連するQ&A

  • メールフォームの文字化け

    <form method="POST" action="mailto:*****@****.com" enctype="text/plain">のようなメールフォームを設置したのですが、送ろうとしたら文字化けされるそうです。 調べてみたらcgiとかを使った方が良さそうですが、その前に念のために質問します。 1.mailto:を使って文字化けするのは利用者環境によって文字化けすることもあるという解釈になるのでしょうか。html側ではどうしようもないのでしょうか。 2.cgiを使った場合、文字化けは解消されるのでしょうか。 すみませんが、教えてください。宜しくお願い致します。

  • メールフォームの文字化けについて

    <form method="POST" action="mailto:*****@****.com" enctype="text/plain">のようなメールフォームを設置したのですが、送ろうとしたら文字化けされるそうです。 調べてみたらcgiとかを使った方が良さそうですが、その前に念のために質問します。 1.mailto:を使って文字化けするのは利用者環境によって文字化けすることもあるという解釈になるのでしょうか。html側ではどうしようもないのでしょうか。 2.cgiを使った場合、文字化けは解消されるのでしょうか。 すみませんが、教えてください。宜しくお願い致します。

  • フォームメールが文字化け

    アングラーズネット社の「インターネットショップCGI&受注管理」という書籍に付属されている「fmail」というCGIファイルを使ってメールフォーム作成してサイトにアップロードしたのですが、メール送信確認画面で文字化けします。そのメールフォームで受信したメールも文字化けしています。AdobeGoLiveCS2でホームページを作成しています。最初GoLiveでCGIファイルを読み込むとファイル内容が文字化けになっていたので、エンコーディングを日本語シフトjisに設定すると文字化けが解消されました。しかし、相変わらずメールフォーム及び受信メールは文字化けしたままです。 OSはWindowsXPです。 アドバイスよろしくお願い致します。

  • 文字化け-メールフォームから送信されたもの

    検索したのですが、答えが見つからなかったので質問させて頂きます。 PC用のサイトとi-mode用のサイトを持っているのですが、 i-mode用のサイトに設置してあるメールフォームから送信された文章が、全て文字化けしていて読めません。 例を挙げるとこんな感じです→%92%b7%95%d2%8f%ac WEB上のツール(文字化けしたメールの修復)を使わせてもらったのですが、やはり文字化けしたままでした。 text.txtをhtmlにして全文貼り付け、エンコードを変えてみると言う方法も試してみました。 %のあとに数字か英文字が二文字続くものです。こう言った文字化けはどうすれば読めるようになるのでしょうか。 宜しくお願い致します。

  • メール送信後のHTMLが文字化けします

    FORMからsendmailを利用してメールを送信し、その結果を「送信できた」、「未入力項目がある」などを出力するHTMLとして出力するcgiを作ったのですがHTML出力が文字化けします。 メールのsubjectやbodyは文字化けせず正常に送信できます。HTMLにはMETAタグでeuc-jpやshift_jisと色々とトライしました。cgiもshift_jisとeuc-jp両方で試しましたがどちらも文字化けします。文字化けしているときにブラウザのエンコードで自動選択すると、ブラウザがcgiの使用コードに自動的に合わせてくれて正常に表示してくれますがこれがcgiを起動するたびで面倒です。エンコードを自動選択しないと文字化けしてそのときのブラウザが選択している文字コードは「西ヨーロッパ言語(ISO)です。 どうしたらブラウザに使用している文字コードを認識させるられるでしょうか?

    • ベストアンサー
    • CGI
  • FLASHを使用した検索フォーム

    FLASHでテキストボックスと検索ボタンを作成しました。 テキストボックスは変数が「subject」となっています。 ボタンのアクションスクリプトは on(press){ this.getURL("http://***.cgi","NAKA","POST"); } となっています。 ここで入れたテキストデータをcgiの検索ワードに直接持っていきたいのですが、どのようにすればいいのでしょうか? cgiの方は、検索ボックスの名前が「word」となっています。 POSTではなく、GETならうまくいくのでしょうか? イマイチFLASHとcgiの連携がわかりません。

    • ベストアンサー
    • CGI
  • CGIメールフォームのメールが文字化けしてしまいます。

    こんにちは。 CGIから自動返信されるメールが 人によって文字化けしてしまうそうです。 私の場合は、文字化けしないのですが・・・。 誰も文字化けしないような、自動返信メールを作りたいのですが、 CGIのどこをいじればよいかわかりません。 よかったら、教えてください。お願いします。

    • 締切済み
    • CGI
  • goo のメールが文字化けに・・・

    メールをもらったんですが、なぜかみな文字化けに なってしまいました。 $1B%などの英数字ばかりです。 どのようにしたら読めるようになりますか? 教えてください。

  • フォームメールが文字化けします。。。

    cgiを使用したフォームメールについてですが、携帯のauとソフトバンクでフォームメールを利用した人からのメールが文字化けを起こしてしまいます。 そこで私が使っている、共用レンタルサーバ会社に連絡したら、 ”携帯端末に対応しているフォームメール CGI を自分で探して設置してくれ”と返事がありました。 そこで、色々探したのですが、見つかりませんでした。(よくわかりませんでした) 携帯端末に対応しているcgiはどこで見つければいいのでしょうか。 また、今のCGIに何かを付け加えることによって文字化けを起こさなくなるものなのでしょうか。わかる方いましたらお願いいたします。

    • ベストアンサー
    • CGI
  • メール送信で文字化け

    メール送信で件名が文字化けしてしまいます。 カテゴリ内には同様の質問もあるようですが、 解決できないので、投稿しました。 以下のようなコードです。 $to= "aa@aa.aa"; $from= "bb@bb.bb"; $subject= "メール送信テスト"; $headers= "From:$from"; $subject = i18n_mime_header_encode(i18n_convert($subject, "JIS")); $name= $_POST["name"]; $sub= $_POST["sub"]; $body= $_POST["body"]; $message="$name \n $sub \n $body \n"; if(mail($to, $subject, $message,$headers)){ echo "送信完了"; }else{ echo "送信エラー"; } ちなみに、 $subject= base64_encode($subject); とかもやってみたけど駄目でした。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう