TAMURA Toshihiko
tamur****@bitsc*****
2003年 3月 3日 (月) 10:13:23 JST
こんにちは、田村です。 > > o mbstring関数の有無を判別をする箇所で、 > > mb_internal_encoding() で内部エンコーディングを指定する。 > > o 個々のmbstring関数では内部エンコーディングを指定しない。 > > > この件、{admin,catalog}/includes/languages/japanese.php に > mb_internal_encoding(CHARSET); > # CHARSET としたのは、EUC-JPだとは限らないのと、このファイルで、 > # CHARSETが define されていて、丁度良いと思ったからです。 > と加えておきましたが、これで良いでしょうか? japanese.php で定義されている CHARSET は、 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> のようにして使われる、 http_output (HTTP出力文字エンコーディング)の文字コードですね。 mb_internal_encoding()で指定したいのは、スクリプト自体で使う 内部文字エンコーディングなので、これはまた別に、 mb_internal_encoding("EUC-JP") のようして、直接指定せざるをえないように思います。 mbstring関数の有無を判断する箇所というのは、 {admin,catalog}/includes/languages/japanese.php の中の、 それ以前にmbstring関数を呼んでいない場所が適当だと思います。 それで、佐藤さんの担当のmbstringラッパに関係しますが、 例えば、 if (function_exists('mb_detect_order')) { mb_internal_encoding('EUC-JP'); } else { include_once(DIR_WS_LANGUAGES . $language . '/jcode.phps'); include_once(mbstringラッパを定義したファイル); } のようにすればいいのではないでしょうか。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamur****@bitsc***** http://www.bitscope.co.jp/