• 締切済み

POSTされた値をEUCで表示したい

<?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <form action="test2.php" method="POST"> <input name="str1" value="テストです"> <input type="submit"> </form> </body></html>'; exit; } ?> こうして送信されたデータは <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo $_POST['str1']; ・・・・・ として表示しますが、このままのテストソースではSJISで普通に表示されますが、EUCで表示するにはWindowsの中のphp.iniを編集すればよいと思います。 どのようにすればよいですか? test2.phpが・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

みんなの回答

  • cooz7654
  • ベストアンサー率77% (7/9)
回答No.4

mbstring.internal_encoding = EUC-JP mbstring.http_output = EUC-JP になっていて、入出力共にEUCで統一されてるならば、 <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> ↓ <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> と入出力それぞれのHTMLを変更して、 ファイルをEUCで保存していないと、 単に化けている日本語が表示されると思います。 質問の意図がイマイチ理解できないので、 こういうことを求めているのか自信もてませんが・・・

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

>サーバと同じ文字環境をローカルで作成しようとしているところです。 サーバでは phpinfo() は表示できませんか。 表示できるならその中のmbstringの設定を同じにすれば良いと思います。 mbstring.internal_encoding "euc-jp" mbstring.encoding_translation On なのだと思いますが

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.2

php.iniで変更したいなら >mbstring.http_output string >HTTP 出力文字エンコーディングのデフォルト値を定義します。 で、変更できますよ。

ursmr
質問者

お礼

php.iniで変更したいなら >mbstring.http_output string >HTTP 出力文字エンコーディングのデフォルト値を定義します。 で、変更できますが、ローカルではそれではできませんでした。

  • guuman
  • ベストアンサー率30% (100/331)
回答No.1

<?php mb_language('ja'); mb_internal_encoding('sjis'); echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo mb_convert_encoding($_POST['str1'],'euc-jp'); ・・・・・ では?

ursmr
質問者

補足

ありがとうございます。すみません、質問が不足でした。 何もコンバートせずにEUCを出力するようにしたいです。 サーバと同じ文字環境をローカルで作成しようとしているところです。 サーバでは質問文のソースで・ニ・ケ・ネ、ヌ、ケと表示されています。