[PHP-users 16234]Re: EUC⇒Shift-JISでのPOST送信での文字化け解決法ありませんか?

SHoe-G Ueyama shoe-g @ pro.co.jp
2003年 6月 25日 (水) 13:49:26 JST


新地さん、早速ありがとうございます!

私のコードのケアレスミスでした。
外部にコードを新地さんの書いたように送ってはいるのです、済みません。

問題と現状をまとめると以下のようになります。

test.php は文字コード: EUC  表示されている文字コード 
    ↓ POST
test2.php は文字コード: Shift-JIS  (test.phpからのPOST送信直後はEUCで
表示をしてしまいます)
    ↓ POST
外の決済システムのサーバー(文字コードはShift-JISのみを受け付ける:文字コー
ド Shift-JIS)
        (Shift-JISで書かれたtest2.phpが EUCの文字化けの状態でPOST送信され
ると
        データを正常に受け取ってくれないのです)

・ 解決法 test2.php がtest.phpからそのままPOSTによってデータを受け取り表
示されるときにブラウザでShift-JISで表示をしてくれれば解決です。   しかし
HTML Headerの中に文字コード Shift-JISの指定をしても EUCファイルからPOST送
信されるので、EUCで表示してしまうのです。

・ その他の解決法: test2.phpをEUCで記述し、 外の決済システムのサーバーに
Shift-JISでデータをPOST送信できればいいのですが、このようなことはできるんで
しょうか?

すみませんがどうぞ宜しく御願いいたします。

植山周志

----- Original Message -----
From: "ALPHA" <alpha @ alpha.ne.jp>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Wednesday, June 25, 2003 1:21 PM
Subject: [PHP-users 16230] Re: EUC⇒Shift-JISでのPOST送信での文字化け解決法
ありませんか?


> 新地と申します。
>
> > -------test2.php----------
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> > <HTML>
> > <HEAD>
> > <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
> > <TITLE></TITLE>
> > </HEAD>
> > <BODY>
> > <FORM action =test2.php method="post">
> >
> > <INPUT size="20" type="text" name="a"><BR>
> > <INPUT type="submit" name="ok" value="ok">
> > <? print mb_convert_encoding($a, "SJIS", "EUC-JP"  ); ?>
> > </FORM>
> >
> > </body>
> > </html>
>
> このプログラムだとSJISのデータを外部サーバーに送っていないようなのですが
> <? $a mb_convert_encoding($_POST[a],"SJIS", "EUC-JP"  ); ?>
> <INPUT type="hidden" size="20" type="text" name="a" value="<? echo $a;
?>">
> こんな感じでどうでしょうか?
>
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>



PHP-users メーリングリストの案内