[PHP-users 2768] Re: header関数でリダイレクトする方法

松島 知弘 php-users@php.gr.jp
Tue, 16 Oct 2001 21:44:43 +0900


松島です。


> <?
>     $a="あいうえお";
>     header("content-type=text/html; charset=euc-jp");
>     header("location:bb.php?&tile={$a}");
> ?>

次の要領で動くと思います。

<?php
  $a = "あいうえお";
  $a = mb_string($a, 'Shift_JIS'); // 受け側のシステムに合わせる
  $a = urlencode($a);              // %xx の形式に変換
  header("location: bb.php?&tile=$a");
  exit;
?>

ところで、もしや「tile」は「title」の書き損じでは?


HTTPヘッダのContent-Typeフィールドは、各HTTPヘッダの
内容には適用されないので、指定しても意味がありません。
(Content つまり GETで届いたり、POSTで送ったりする本文
 のMIMEタイプを記述する物です)

> header("content-type=text/html; charset=euc-jp");

書くならば、次のように書かないと、(HTTP的に)文法エラーです。

header("Content-Type: text/html; charset=EUC-JP");



> もの凄く単純な事だと思うのですが、教えて頂けないでしょうか?

header関数でHTTPヘッダを扱うのですから、
HTTPヘッダの利用の仕方も調べるとよいと思います。

http://way.direct.ne.jp/HTTP/rfc2616_ja/rfc2616_ja.html
の中から関連する箇所など。

#「理解できるまでは複雑」かもしれません。


──────────────────────────────
松島 知弘 matsushima@popup.org
          http://www.popup.org/ai/