とっておきの手土産を教えて

<?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が・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

A 回答 (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で保存していないと、
単に化けている日本語が表示されると思います。

質問の意図がイマイチ理解できないので、
こういうことを求めているのか自信もてませんが・・・
    • good
    • 0

>サーバと同じ文字環境をローカルで作成しようとしているところです。


サーバでは phpinfo() は表示できませんか。
表示できるならその中のmbstringの設定を同じにすれば良いと思います。

mbstring.internal_encoding "euc-jp"
mbstring.encoding_translation On
なのだと思いますが
    • good
    • 0

php.iniで変更したいなら


>mbstring.http_output string
>HTTP 出力文字エンコーディングのデフォルト値を定義します。
で、変更できますよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/16 12:05

<?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を出力するようにしたいです。
サーバと同じ文字環境をローカルで作成しようとしているところです。

サーバでは質問文のソースで・ニ・ケ・ネ、ヌ、ケと表示されています。

補足日時:2006/04/16 11:01
    • good
    • 0

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


おすすめ情報