OSDN Git Service

- changed default internal encoding from EUC_JP to UTF-8.
authormumumu-org <mumumu-org@2ef88817-412d-0410-a32c-8029a115e976>
Fri, 23 May 2008 11:28:06 +0000 (11:28 +0000)
committermumumu-org <mumumu-org@2ef88817-412d-0410-a32c-8029a115e976>
Fri, 23 May 2008 11:28:06 +0000 (11:28 +0000)
CHANGES
class/Ethna_Controller.php

diff --git a/CHANGES b/CHANGES
index 3cb5ded..4032dfd 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,8 @@
 
 - ソースコード全体をUTF-8化
 -- 但し、日本語のソースコードコメントはそのまま
+-- [Breaking B.C] フレームワークで扱う内部エンコーディング(mb_internal_encoding)もUTF-8に変更。但し、これは Ethna_Controller#_getDefaultLanguage
+   をオーバーライドし、クライアントエンコーディングの値を変えることで変更可能です。
 - 国際化 (i18n) のための機能追加および変更
 -- [Breaking B.C] 言語名として解釈していた部分をロケール名に変更
 --- これにより、[appid]template/ja, [appid]/locale/ja の「ja」の部分が ja_JP に置き換わります。よって、古いバージョンから移行する場合はディレクトリ名の変更が必要です。
index 05c4633..5ec99f2 100644 (file)
@@ -236,8 +236,15 @@ class Ethna_Controller
             }
         }
 
+        //
         // 初期設定
+        // フレームワークとしての内部エンコーディングはクライアント
+        // エンコーディング(=ブラウザからのエンコーディング)
+        //
+        // @see Ethna_Controller#_getDefaultLanguage
+        //
         list($this->locale, $this->system_encoding, $this->client_encoding) = $this->_getDefaultLanguage();
+        mb_internal_encoding($this->client_encoding);
 
         $this->config =& $this->getConfig();
         $this->dsn = $this->_prepareDSN();
@@ -1783,6 +1790,10 @@ class Ethna_Controller
      *                  クライアントエンコーディング名
      *                  (= テンプレートのエンコーディングと考えてよい) の配列
      *                  (ロケール名は ll_cc の形式。ll = 言語コード cc = 国コード)
+     *
+     *  CAVEAT!!: クライアントエンコーディング名が、フレームワークの内部エンコーデ
+     *            ィングとして設定されます。つまり、クライアントエンコーディングで
+     *            ブラウザからの入力は入ってくるものと想定しています!
      */
     function _getDefaultLanguage()
     {