EC-CUBE 2.11 ; MySQLで文字化け対策

EC-CUBE 2.11 を MySQL にそのままインストールするとDB上で文字化けする。(WEBブラウザ上では文字化けしない)
まず、インストールの際は①のようにEC-CUBEのソースコードを変更したものを利用する。
インストール後に文字化けを解消させたい場合は、②のようにSQLファイルの文字コードを書き換える。

①EC-CUBEがMySQLにUTF8で書きこむ設定
/data/class/SC_Query.php の79行目

//$this->conn->setCharset(CHAR_CODE);
$this->conn->setCharset(‘utf8’);

②EC-CUBEインストール後にSQLファイルの文字コードを書き換える方法
1.eccube_dbをダンプして、文字コードをlatin1からutf8に書き換える

mysqldump -u eccube_db_user -p eccube_db > eccube_db.sql –default-character-set=latin1
perl -pi -e ‘s/latin1/utf8/’ eccube_db.sql

2.eccube_db を作り直す

mysql -u eccube_db_user -p
mysql> drop database eccube_db;
mysql> create database eccube_db default character set utf8;
mysql> quit