- 締切済み
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が・ニ・ケ・ネ、ヌ、ケと表示したら成功です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- cooz7654
- ベストアンサー率77% (7/9)
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)
>サーバと同じ文字環境をローカルで作成しようとしているところです。 サーバでは phpinfo() は表示できませんか。 表示できるならその中のmbstringの設定を同じにすれば良いと思います。 mbstring.internal_encoding "euc-jp" mbstring.encoding_translation On なのだと思いますが
- tecinfo
- ベストアンサー率52% (32/61)
php.iniで変更したいなら >mbstring.http_output string >HTTP 出力文字エンコーディングのデフォルト値を定義します。 で、変更できますよ。
- guuman
- ベストアンサー率30% (100/331)
<?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'); ・・・・・ では?
補足
ありがとうございます。すみません、質問が不足でした。 何もコンバートせずにEUCを出力するようにしたいです。 サーバと同じ文字環境をローカルで作成しようとしているところです。 サーバでは質問文のソースで・ニ・ケ・ネ、ヌ、ケと表示されています。
お礼
php.iniで変更したいなら >mbstring.http_output string >HTTP 出力文字エンコーディングのデフォルト値を定義します。 で、変更できますが、ローカルではそれではできませんでした。