EC-CUBE
説明 [#vd6d7b3f]
ECCUBEで文字化けが発生する場合、DBとECCUBEの文字コードに差異がある場合が原因の可能性があります。
ECCUBEではUTF-8でサイトが構成されていますが、MySQLのデフォルトはlatin1がデフォルトの文字コードです。
対処手順 [#p273ffbd]
+MySQLの「/etc/my.cnf」でデフォルト文字コードをUTF-8に変更 +MySQLのサービス再起動 +mysqlでログインして、「show create database データベース名;」で文字コードを確認 以上で対処完了です。
もしも上記対処を実施しても、文字化けが発生していた場合は、chacheを削除してください。
削除対象:eccube/data/cache ※削除除外ファイル→mtb_constants.php
なお、DBの文字コードを変更することができず、latin1でECCUBEを運用する場合は下記対処を実施してください。
※注4:文字化け等が発生する場合には、環境にあわせて変更して下さい。
※データベース内が文字化けする場合の対処
eccube_dir/data/class/SC_DbConn.php
の33行目の
$this->dsn = $dsn;の下に下記2行を追加。
$buf = $objDbConn->prepare(‘SET NAMES データベースの文字コード’);
$objDbConn->execute($buf);
元:http://xoops.ec-cube.net/modules/newbb/viewtopic.php? topic_id=1145&forum=2&post_id=3641#forumpost3641
ex:latin1_general_ci
参考:http://tmpla.info/archives/1145