水曜以外もどうでしょう

北海道発。食べ歩きの記録グルメ情報や北海道の見どころなどをメモ替わりに書いています。

PREV | PAGE-SELECT | NEXT

≫ EDIT

formのPOST受け渡しの文字化けでハマる

formのPOSTでの受け渡しで、文字化けが発生。

こりゃ如何に?


下記がサンプルコード。
シンプルに入力された内容を、受け取った側で表示するだけ。

送信側

<form id="form1" method="post" action="1_exec.php">
<input type="text" id="title" name="title" value="" size="70" />
<br />
<input type="submit" value="押す" />
</form>




受け取り&表示側

タイトル:<?php echo $_POST['title']; ?><br />




プログラム自体は他のサーバで問題なく動いていたものを別のサーバへ移植。
プログラムはutf-8で書いた物。

mbstring.internal_encoding
とか
default_charset
そんな話かなと色々ためすんだけど、うまく行かない。


移植先サーバでは、euc-jpのphpは動かした実績はあり。

それで、同じphpプログラムをeuc-jpに変換して、htmlでもcharsetを変えて
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />

実行してみるとちゃんと動く。
なんでだろう?

やっぱり、UTF-8がダメで、EUC-JPがOKという状況。

更に色々試してみて、enctypeを指定するとうまく行くことがわかった。

<form id="form1" method="post" action="1_exec.php">
  ↓
<form id="form1" method="post" action="1_exec.php" enctype="multipart/form-data">

そういうものなのでしょうか?


fileのやりとりを行うときだけ
enctype="multipart/form-data"
を付けるというルールだと昔から認識していたけど。

しかも、付けなくてもうまく行くサーバもある。
サーバ依存なのかな。

スポンサーサイト
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| web系 | 23:12 | comments:2| trackbacks:0| TOP↑

COMMENT

ありがとうございます

はじめまして
この2週間ほどフォームの文字化けで悩みネットで調べまくりやっとめぐり会えました。
enctype="multipart/form-data"
魔法の呪文のようです。
ありがとうございました。

| 佐藤智英 | 2014/04/17 10:20 | URL |

Re: ありがとうございます

佐藤様

解決してよかったですね。
お役に立てて嬉しいです。

私も苦労したことを覚えております。
仰るとおり、不思議な魔法のようです。

| 水曜以外も管理者 | 2014/04/17 11:26 | URL |















非公開コメント

TRACKBACK URL

http://vmemo.blog36.fc2.com/tb.php/425-439ab4fa

TRACKBACK

PREV | PAGE-SELECT | NEXT