zen-cart インストール時の文字化け
最初は、インストール後にログインができないと同時にサイトのデモ商品エントリーと管理画面一部がひどく文字化けしてしまった。
原因は現在2008/04/02時点でリリースされている日本語化されたzen-cartはphp 5.2.5に対応していない。
いきなりログインできなくなったという話も多く見ましたが多くはレンタルサーバー会社が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にします。
その他に、大量のファイルの文字コードを一発変換してくれるソフトも使用しました。
.htaccessにて対応
下記の一文をhtaccess.txtとか名前を付けてアップした後に「.htaccess」とりネームします。
AddHandler application/x-httpd-phpcgi .php
これはphpをcgiとして動かす記述です。これでセーフモードの問題が解決しました。
ざっくりですがこれで終わり。
これからテンプレートの構築、、”問題なく”終わるといいです。