【開発】ECCUBEで文字化けするやんVer2.11.4
いま現在の最新版を試しにインストールしてみた。
(年末になにやってんねん俺(;^ω^))
試しなのでXAMPP(Windows)にインストール。
静的なページ部分は日本語で表示されているのですが、DBから抽出している部分(商品名やカテゴリ名など)が、完全に文字化けしてる。
ググッてみると多くの方がぶちあったってる問題のよう。日本発のプロジェクトで、こんな問題に当たるとは意外。
自分のところでは、データベースの設定のみで回避しました(実際に運用してないし、だったらいいなレベルですが)
phpadminなら、データベース(eccube_db)を選択後、ここの操作タブをクリック。
追記:
あ(;^ω^)年越してたのね・・・。
CentOSの方にもインストールしてみたら、同じ問題が出ましたので、そちらの方も備忘録として書かせていただきます。
CentOSの方にはMySQLAdminは入れてないので、コマンドで行う必要があります。
create database データベース;
grant all on データベース.* to 'username’@’localhost’ identified by 'password’;
いつものコマンドで、DataBaseを作成後、開いてみたら文字化け・・、照合順序を変更しなければなりません。mysql/Configファイルにて、設定する事も可能ですが、他のDBには影響を与えたくありませんので、新しく作成したDBのみ設定を行います。
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'データベース’;
このコマンドで、現在のCOLLATION/照合順序や文字コードを確認できます。utf8_general_ciでなかったので、変更します。
ALTER DATABASE `データベース` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
これで、照合順序の変更が済み、ECCUBEで日本語が表示されました。
うむ?なんでか、課税規則の項目だけが文字化けしてます。ググったところ、EC-CUBEコミュニティでも同じ問題を見つけました。
data/cashe/mtb_taxrule.phpを削除すれば治ると書かれてましたが、自分のバージョンでは、mtb_taxrule.serialのようでした。インストールしたばかりだったら、cashe部分は全削除した方がいいかもしれない(問題が起こったら)
追記:課税対象だけでなく他項目も文字化けしてました。cashe内は全削除した方がいいですね。問題は発生してないようなので、多分OK
/etc/php.iniのこの部分。通常は、コメントかと思いますが、これを日本時間にしました。
なんとか、CentOSで動きました。
eccubeは解凍すると、ディレクトリが3つほど出来ますので、実際に設置する際、自分は以下のようにしてみました。
適当なディレクトリ(~homeやoptとか)を、ECCUBEのルートという事にしてコピーします。
ファイル権限やモードの変更も済ませます。
eccube -> ~eccube/eccube-2.11.4/
後のバージョンアップの事を考えてリンクを作っておきます。
<VirtualHost *:80>
DocumentRoot ~eccube/html/
ServerName zakka.ahh.jp
ErrorDocument 404 http://zakka.ahh.jp
</VirtualHost><Directory "~eccube/html/install">
Order deny,allow
Deny from all
</Directory>
これはhttpd.confの中身です。/html以下を公開します。/html/install以下は、万が一を考えて外に見えないようにします(削除すりゃいいけんども)
namedの設定をして、名前解決を確認。これで公開されました。
後の設定カスタムが便利になるように、Sambaからも参照できるように設定しておきます。
・・・さて、何をすんべか(;^ω^)
商品データをぶっ込む方法は、DB直接か、管理画面からCSVかの2通り。後のECCUBEバージョンアップの事を考えると、DBダイレクトは危険。CSVならエラー処理もしてくれるだろうし。CSVとはいえ、70項目超えてるし、大変ですね。でも、その前にマスター整備か。