Maple: リスエストの処理部分と文字化けとの関係

Web+DB Pressのサンプルであった「○○さん, ようこそ!」を実行中に文字化けしたと言いましたが, nameパラメータに日本語を入れても文字化けしてました. (今はもう設定ファイルを修正したので文字化け問題は解決しました.)

それで「MapleはGETリクエストをどのように処理しているのか?」と興味がでたので, また, grepしてみました.

$ grep -rn "_GET" .
./maple/core/Request.class.php:33:                      $request = $_GET;
[...]

maple/core/Request.class.phpを見てみると, コンストラクタで

  1. getenv("REQUEST_METHOD")を使ってPOST/GETに対応
  2. INPUT_CODEとINTERNAL_CODEが一致しない場合, mb_convert_encodingで文字コードを変換
  3. プライベート変数_paramsにリクエストされたデータを連想配列として格納

していることがわかりました.

ここで, 文字コードの設定を元にして, 文字コード変換を行っていたのですね.
納得しました.