2008/6/4 水曜日

EC-CUBE:MySQL上で文字化け

Filed under: EC-CUBE — tiny-p @ 19:24:27

参考:http://de-lab.com/article/eccube_install/

Mysql4.1以上だと、CMSツールを普通にインストールするとデーターベース側が文字化けするという問題が出ることがあります。

Mysql4.1以降は、PHPとの接続時に文字コードの自動変換機能が働くので、サーバー側の文字コードを勝手に変換してしまうため、文字コードが指定されていない場合、「laten1」などで出力されてしまうことがあります。

対策として、コアファイルを書き換えてエンコーディングを発行します。

data/class/SC_DbConn.php 51行目あたり ※下記コードの5,6行目を追加


if(!isset($objDbConn->connection) || $new) {
if($dsn != "") {
$objDbConn = DB::connect($dsn, $options);
$this->dsn = $dsn;
$buf = $objDbConn->prepare('SET NAMES utf8');
$objDbConn->execute($buf);
} else {
if(defined('DEFAULT_DSN')) {
$objDbConn = DB::connect(DEFAULT_DSN, $options);
$this->dsn = DEFAULT_DSN;
} else {
return;
}
}
}

コメント (0)

この記事にはまだコメントがついていません。

コメント RSS トラックバック URL

現在コメントフォームは利用できません。

Copyright (C) 2007 tiny-p. All Rights Reserved.