アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。

EUC-JP のページからx-euc-jpのページへFORMを使いデータを渡しているのですが、どうも受け取り側で渡したデータが文字化けを起こしているようなのです。
原因が分かる方がいたら、ご教授下さい。

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
<script type="text/javascript">
<!--
function sent2() {
document.INPUT.submit();
}
// -->
</script>
</HEAD>
<BODY onload="sent2()">
<form name="INPUT" METHOD="POST" action="http://okwave.jp" ENCTYPE="text/plain">
<input type="hidden" name="arr1" value="555006303003">
</form>
</BODY>
</HTML>

A 回答 (3件)

サーバー側で文字コードをEUC-JPからx-euc-jpへ変換すればいいのでは?



どんな文字コードで送信するかはブラウザ依存なので、
どんなフォームを作る場合でも(テスト用とかで簡略する場合を除き)文字コードのチェックと変換は必要です。

ところで
> <form name="INPUT" METHOD="POST" action="http://okwave.jp" ENCTYPE="text/plain">
> <input type="hidden" name="arr1" value="555006303003">
> </form>
このフォームが全文ですか?
もしenctypeの指定にかかわらずこのデータで文字化けや"555006303003"以外の文字が表示されるなら、
余計な処理をしていると思います。
(ContentヘッダやHTMLヘッダのcharsetが間違っていても、半角数字が文字化けすることはありません。
ただしUTF-16、UTF-32が指定された場合は文字化けします。)

この回答への補足

回答ありがとうございます。

サーバ側と言うのは、受け取り側ってことですよね?
今回の背景としましては、formデータの受け取り側は、現在webで公開されている検索システムなのですが、検索結果画面に値を渡して結果ページを表示しようとしています。

以下が全文です。
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp" />
<script type="text/javascript">
<!--
function sent() {
document.INPUT.submit();
}
// -->
</script>
</HEAD>
<BODY onload="sent()">
<form name="INPUT" METHOD="POST" action="http://okwave.jp" ENCTYPE="text/plain">
<input type="hidden" name="arr1" value="555006303003">
</form>
</BODY>
</HTML>

ちなみにmeta指定の所をEUC-JPとかにしてもだめでした。

補足日時:2006/04/17 10:12
    • good
    • 0
この回答へのお礼

解決しました!!
ファイルをEUC-JPで保存してみたらうまくいきました。
元はISO-8859-1で保存していました。
初歩的なミスですいませんでした。。。

お礼日時:2006/04/17 11:56

普通考えれば、受け取った側で、文字コードの


整合性をチェックしてデコードするような気がしますが。

この回答への補足

回答ありがとうございます。
受け取り側は、他サイトなので変更できないのです。。。

補足日時:2006/04/17 10:21
    • good
    • 0

フォームデータを受取るプログラムではURLエンコードされている前提で処理する場合が多いのでenctypeを省略してみては?

この回答への補足

回答ありがとうございます。
enctypeを省略して見ましたが同じでした。

補足日時:2006/04/14 17:31
    • good
    • 0

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