2008年4月 2日

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

ここ数日、オープンソースのECシステム(ZEN CAET)のインストールに手こずっていました。

最初は、インストール後にログインができないと同時にサイトのデモ商品エントリーと管理画面一部がひどく文字化けしてしまった。

原因は現在2008/04/02時点でリリースされている日本語化されたzen-cartはphp 5.2.5に対応していない。
いきなりログインできなくなったという話も多く見ましたが多くはレンタルサーバー会社がphpのバージョンを上げて、ユーザーが気付かず悲鳴をあげていたような感じですかね。。。

問題はサーバー側でphp.ini(PHPの設定ファイル)をいじれないことと文字コードがうまくかみあっていなかった?的なことでした。

zen-cartは標準文字コードがEUC-JPなのでさんざん試した結果zen-cartの文字コードをutf-8にして対応している人がいたのでそれを参照、うまくインストールできた。

zen-cartをutf-8化するのにはまず、
データベースを作成し、utf-8になっているか確認します。
そして下記の通りソースを修正します。
/includes/classes/db/mysql/query_factory.php 内の37行目の
//------------------------------------------------------------//
      if (@mysql_select_db($zf_database, $this->link)) {
        $this->db_connected = true;
        return true;
//------------------------------------------------------------//
の記述を下記の通りに書き換えます。
//------------------------------------------------------------//
      if (@mysql_select_db($zf_database, $this->link)) {
        if (version_compare(mysql_get_server_info(), '4.1.0', '>=')) {
         mysql_query('SET NAMES "utf8"', $this->link);}
        $this->db_connected = true;
        return true;
//------------------------------------------------------------//
それと
/includes/languages/ 以下と
/admin/includes/languages/ 内の EUC-JP を UTF-8 に置き換え、
文字コードもUTF-8にします。
その他に、大量のファイルの文字コードを一発変換してくれるソフトも使用しました

また、私が使用していたサーバーではphpがセーフモードになっていて、phpの設定ファイルを修正できなかったので

.htaccessにて対応
下記の一文をhtaccess.txtとか名前を付けてアップした後に「.htaccess」とりネームします。
AddHandler application/x-httpd-phpcgi .php
これはphpをcgiとして動かす記述です。これでセーフモードの問題が解決しました。

ざっくりですがこれで終わり。

結果インストールは無事完了

これからテンプレートの構築、、”問題なく”終わるといいです。

続きを読む "zen-cart インストール時の文字化け" »

日時: 2008年4月 2日 20:35 | | コメント (30)

今が旬なお勧めサイトのご紹介!!

富貴蘭の事ならシード園芸

FX情報