EC CUBEのインストール時の文字化けを解決する1つの方法

EC CUBEっていうソフトがあるんですが、これがまたいろいろとお話を聞くソフトなのですが・・

今お仕事で今関わっている案件で、EC CUBEをがっつりカスタムな案件があるのでとりあえずインストールしてみる。

しかしいきなり文字化け・・・ orz

php 5系
mysql 5系
■ec cube 2系

どうやらmysql文字コードが「ujis」なのだが、ec cube2系の文字コードが「utf8」の為文字化けしているようだ。

data -> class -> SC_DbConn.phpを改変してみる。

        // 既に接続されていないか、新規接続要望の場合は接続する。
        if(!isset($objDbConn->connection) || $new) {
            if($dsn != "") {
                $objDbConn = DB::connect($dsn, $options);
                $this->dsn = $dsn;
            	/* 新規追加 20080914 */
                  $buf = $objDbConn->prepare('SET NAMES utf8');
                  $objDbConn->execute($buf);
            	/* 新規追加 20080914 END */

これでとりあえず文字化けは解消された。
ちなみにこの問題はかなり多くの方々が困っていた模様。

ec cubeの1系を使用している方は、以下のようにするといい。

                  $buf = $objDbConn->prepare('SET NAMES ujis);
                  $objDbConn->execute($buf);

なぜならEC CUBEの1系のソースはEUC-JPで書かれているから。

これで問題ないかどうかサイトを見回ってみると、職業やらの部分部分がいまだに文字化けしている模様・・・

調べてみると、「data -> cache」フォルダの中をいったん全て削除することによって解決可能。
まあsmartyを使っているからよくよく考えたら当然かも・・・(だからsmarty嫌いww)

とりあえず自分用にもメモ・・