EC CUBEインストール Mysqlの文字化けを解消

2007.09.18

画像 - EC CUBEインストール Mysqlの文字化けを解消

EC Cubeインストール時のMysqlの文字化けが起こる場合、コアファイルを修正してエンコーディングを発行します。

日本初のオープンソースECサイト構築システム「EC CUBE」

オープンソースのEC構築パッケージではosCommerceが有名ですが、2007年4月26日に日本で初めてのオープンソースECサイト構築システム「EC CUBE」正式版がリリースされました。

ベータ版のからテストしていますが、正式版は動作も安定していて、仕事での使用もそろそろ考えています。

ただ、この手のものは使用できるまでに手間がかかるので、マニュアル以外のインストール時の設定を、思いついたときに書き記していきたいと思います。

インストールの覚書

サーバー詳細

  • EC-CUBEバージョン 1.3.4
  • PHPバージョン PHP 4.3.9 セーフモード
  • DBバージョン MySQL 4.1.12
  • OS Linax Apache 2.0.52

インストール時の文字化け

MySQL4.1になると文字化けが発生する件 : delabでも書きましたが、Mysql4.1以上だと、CMSツールを普通にインストールするとデーターベース側が文字化けするという問題が出ることがあります。

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

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

data/class/SC_DbConn.php 30行目 ※codeの5,6行目を追加

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

Recommend!

PHPによるWebアプリケーションスーパーサンプル 第2版 PHPによるWebアプリケーションスーパーサンプル活用編 第2版 jQueryで作る Ajaxアプリケーション CakePHPガイドブック CakePHP ポケットリファレンス

TrackBack URL
このエントリのリンクを作成
Comment Form

スタイル指定用の一部の HTMLタグが使用できます。