サーバ移転時のMySQLの移行方法(文字化け解決含)
■DBのエクスポート
MTの移転の時のエクスポート方法と同じやり方でやりましたが、
今回はutf-8への文字コード変換はやってません。
逆にインポートするときに、「ファイルの文字セット」を「ujis」にしました。
後からわかったことですが、EC-CUBEの1系は元々ujisベースなので変換がいらないようなのです!
■SC_DbConn.phpの書き換え
これをやらないと文字化けしてしまうので、必要な作業です。
場所は、
data/class/SC_DbConn.php
です。
<参考>
エロゲプレイ記 … EC-CUBEをインストールすると文字化けする人へ
http://drednote.blog92.fc2.com/blog-entry-52.html
data/class/SC_DbConn.phpの33行目、
$this->dsn = $dsn;の行の次の行からに、以下2行を挿入する。
$buf = $objDbConn->prepare('SET NAMES eucjpms') ; $objDbConn->Execute($buf) ;上記のeucjpmsの部分は、データベースをujisで運用している人はujisに変更して欲しい。
てなわけで、自分の場合は以下のような表記を追加しました。
$buf = $objDbConn->prepare('SET NAMES ujis') ;
$objDbConn->Execute($buf) ;
ちなみにこの[SC_DbConn.php]のファイルがおかしくなってると
画面が真っ白になってしまうので、気をつけてください。
自分の場合はSETの前にスペース入ってて真っ白に(頭も真っ白…)
秀丸の文字色がちゃんとなってるかチェックしましょう…
上の記事、特記してないですが、[20070729]という日付から予想すると
たぶん1系についての記事だと思います。だから良かった!
また以下のページもちょっとヒントになりました。
phpMyadminでのMySQLの文字セット
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2115039
日本語の表名、列名を使用する場合、MySQLのコマンドで、以下の入力が必要です。
SET NAMES SJIS
■2系仕様でうまくいかなかった分
これを見つける前に2系の文字化けの記事を見つけて、
いくつか試したのですが、こちらはうまくいかなかったです。
ECCUBEの文字化け
http://web-karakuri.com/archives/339
この場合は今回とは逆で、2系はutf-8ベースなので、
文字セットがeucベースのMysqlで、2系を使う場合の記述だと思われます。
ちなみに、1系のSC_DbConn.phpファイルにも上の記述が44行目あたりにあって、
試しましたが、もちろんダメでした。今から考えると納得!
サーバ会社からは、RV-3サーバで2系は使えないとずっと言われてたのですが、
もしかしたら上の方法でやれば使えたのかもしれませんね。
これから試すのはめんどいからやだけど・・・
EC-CUBE V2 UTF-8 で、文字化け
http://minnadepangya.at.webry.info/200803/article_5.html
こちらは、「.htaccess」の書き換えをすると500エラーになりました。
やっぱり根本的に1系と2系は作りが違うのだなぁと実感しました。
<参考>
RV-3シリーズ マニュアル > EC-CUBE > 01) EC-CUBE のインストール方法
http://www.rapidsite.jp/support/manual/rv3/e_312.html
ディスカッション
コメント一覧
まだ、コメントがありません