EC-CUBE

説明

ECCUBEで文字化けが発生する場合、DBとECCUBEの文字コードに差異がある場合が原因の可能性があります。
ECCUBEではUTF-8でサイトが構成されていますが、MySQLのデフォルトはlatin1がデフォルトの文字コードです。

対処手順

  1. MySQLの「/etc/my.cnf」でデフォルト文字コードをUTF-8に変更
  2. MySQLのサービス再起動
  3. 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




トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11