質問: phpでの質問です。 header("location〜")をPOSTで渡す方法を探しています。 携帯サイトなのでJavascriptは使えません。 shift-jisのサイトからutf-8のサイトへ渡します。 (1)307でリダイレクト header('Location: '.$url, true, 307); =>POSTの文字コードを変換できないのでダメでした。 (2)POSTで送信してからリダイレクト =>うまくいきません。やり方が悪いのかもしれません...。 送り元のサイトの文字コードをutf-8にしてしまえば解決するのですが、携帯サイトなのでshift-jisにするしかありません。 (最近ではほとんどの機種がutf-8対応になっていますが、社長の機種が対応していなくて...) よろしくお願いします。
回答: (POST で)受け取ったデータを、エンコードを変換して、別ホストへ投げるのなら、 fsockopen(), fwrite() を使って 書き出せばよいうのでは? (もちろんその前に、mb_convert_encording() で変換しておく) POST で送るのなら、このサンプル と同じような手順で書き出せばよいのでは? プロトコルの詳細は、HTTP プロトコル POST でググるといろいろ見つかると思います。