EC CUBE2.4.0で土日が赤く表示されない
2009 年 7 月 7 日 火曜日EC CUBE2.4.0にアップデートすると今まで土日が赤く表示されていたのに、赤く表示されない。
今までデフォルトで土日はspan class="off"(offにはcolor:red)を指定していた場合、2.4.0にすると、表示されないケースもある。これは、単純に2.4.0から休日が設定できるようになった為。
管理画面のSHOPマスタの定休日管理にチェックを入れると、今までと同じように表示される。
EC CUBE2.4.0にアップデートすると今まで土日が赤く表示されていたのに、赤く表示されない。
今までデフォルトで土日はspan class="off"(offにはcolor:red)を指定していた場合、2.4.0にすると、表示されないケースもある。これは、単純に2.4.0から休日が設定できるようになった為。
管理画面のSHOPマスタの定休日管理にチェックを入れると、今までと同じように表示される。
サーバーインストールと方法を変わらない。
XAMPPの任意のフォルダ内にEC CUBEを展開
XAMPPのphpMyAdmin→特権→ユーザー作成→DB作成
EC CUBE(ローカル展開パス)にアクセス
通常通り展開→インストール
SHOW VARIABLES LIKE "collation%";を実行した応答はutf-8である。
Variable_name Value
collation_connection utf8_unicode_ci
collation_database utf8_general_ci
collation_server utf8_general_ci
MySQL の文字セット: UTF-8 Unicode (utf8)であり、MySQL の接続照合順序: utf8_unicode_ciである。
show variables like "char%";を実行した結果はutf-8である。
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/mysql-src-5.1.22/share/mysql/charsets/
ブラウザ上のエンコード:utf8である。
…にも関わらず以下のように文字化けする。
例:mtb_mail_template
id name rank
1 注文å—付メール 0
2 注文ã‚ャンセルå—付メール 1
3 å–り寄ã›ç¢ºèªãƒ¡ãƒ¼ãƒ« 2
eccube/data/class/SC_DbConn.phpを編集
64行目以下に$this->conn->query("SET NAMES utf8");を追加
$this->conn = $objDbConn
$this->error_mail_to = DB_ERROR_MAIL_TO;
↓
$this->conn = $objDbConn
$this->conn->query("SET NAMES utf8");
$this->error_mail_to = DB_ERROR_MAIL_TO;
データベースの文字化けについて教えてください
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2997&forum=2&post_id=11497#forumpost11497
phpmyadminでの文字化け
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2553&forum=11&post_id=9418#forumpost9418
※2.3.3の部分はversionが上がった場合には適時変更。
※操作を誤った場合はrm ***, rm -r ***でファイル又はフォルダを削除
以下SSHで接続完了後の手順
・wget http://downloads.ec-cube.net/src/eccube-2.3.3.tar.gz
・lsコマンドでeccube-2.3.3.tar.gzがダウンロードできているかを確認
・tar xvf eccube-2.3.3.tar.gz -pで解凍
※tar xvf eccube-2.3.3.tar.gz でも問題ないが、パーミッションの変更の必要がない
・mv eccube-2.3.3/data/ ./でdataフォルダの階層を直下に配置
※mkdirでdataフォルダを作成しておいてもよいが省略
・mv eccube-2.3.3/html/* ./でhtml以下のファイル群を直下に配置
・rm -r eccube-2.3.3で展開フォルダを削除
・rm -r eccube-2.3.3.tar.gzで圧縮フォルダを削除
・lsで確認してabouts, data, forgot, install, …等のファイル・フォルダ群が展開されていれば完了
※この時、.htaccessが展開されていない可能場合があるので、その時はローカルで解凍した.htaccessを設置する
・vi define.phpでdefine.phpで開く
・define("HTML2DATA_DIR", "../data/");をdefine("HTML2DATA_DIR", "/data/");に変換。
・ZZでファイルを保存してviを終了
※コマンドモードと入力モードは『i』『Esc』の各キーで切り替え
※cat define.phpで書き換えられたからを確認。
以上で、/html/を除いた状態(ドメイン直下)でアクセスが可能。
以下、CORESERVERの場合のみ追加処理
※以下はftpでもsshでも可
1.phpMyAdminのみが文字化けする問題
DBをUNICODEで作成し、問題なくインストールしてもphpMyAdminのDBのみが文字化けする(運用上は問題ないが、管理画面以外からのカスタマイズに問題が発生する場合)
eccube/data/class/SC_DbConn.phpを編集
64行目以下に$this->conn->query("SET NAMES utf8");を追加
$this->conn = $objDbConn
$this->error_mail_to = DB_ERROR_MAIL_TO;
↓
$this->conn = $objDbConn
$this->conn->query("SET NAMES utf8");
$this->error_mail_to = DB_ERROR_MAIL_TO;
※上記の行でエラーを起こした場合には、一度$this->conn->query("SET NAMES utf8");をコメントアウトした上で、EC CUBEのインストールを行い、上記行を追加し、インストール画面で既存のDBを削除した上で再インストールを行う。
2.php safemode(PHP セーフモード)の解除
.htaccessに以下2行を追加
AddHandler application/x-httpd-php5cgi .php
php_flag magic_quotes_gpc off
※これを行わないとセーフティーモードが解除されず、インストールが完了しても画面が真っ白になる。
3.php.iniの作成
以下の内容を記載したphp.iniを作成
AddHandler application/x-httpd-php5cgi .php
mbstring.language Japanese
output_handler mb_output_handler
mbstring.encoding_translation 1
magic_quotes_gpc = off
#php_flag session.use_cookies 0
#php_flag session.use_trans_sid 1
mbstring.internal_encoding UTF-8
upload_max_filesize 5M
作成したphp.iniファイルを以下フォルダに配置
data/
admin/
admin/basis
admin/contents
admin/css
admin/customer
admin/design
admin/mail
admin/order
admin/ownersstore
admin/products
admin/system
admin/total
<div>
商品コード:
<!–{if $codecnt > 1}–>
<!–{$arrProductCode.0}–>〜<!–{$arrProductCode[$codemax]}–>
<!–{else}–>
<!–{$arrProductCode.0}–>
<!–{/if}–>
</div>
<!–この商品に対するお客様の声–>
<div id="customervoicearea">
<h2><img src="<!–{$TPL_DIR}–>img/products/title_voice.jpg" width="580" height="30" alt="この商品に対するお客様の声" /></h2>
<!–{if count($arrReview) < $smarty.const.REVIEW_REGIST_MAX}–>
<!–★新規コメントを書き込む★–>
<a href="./review.php"
onclick="win02('./review.php?product_id=<!–{$arrProduct.product_id}–>','review','580','580'); return false;"
onmouseover="chgImg('<!–{$TPL_DIR}–>img/products/b_comment_on.gif','review');"
onmouseout="chgImg('<!–{$TPL_DIR}–>img/products/b_comment.gif','review');" target="_blank">
<img src="<!–{$TPL_DIR}–>img/products/b_comment.gif" width="150" height="22" alt="新規コメントを書き込む" name="review" id="review" />
</a>
<!–{/if}–>
<!–{if count($arrReview) > 0}–>
<ul>
<!–{section name=cnt loop=$arrReview}–>
<li>
<p class="voicedate"><!–{$arrReview[cnt].create_date|sfDispDBDate:false}–> 投稿者:<!–{if $arrReview[cnt].reviewer_url}–><a href="<!–{$arrReview[cnt].reviewer_url}–>" target="_blank"><!–{$arrReview[cnt].reviewer_name|escape}–></a><!–{else}–><!–{$arrReview[cnt].reviewer_name|escape}–><!–{/if}–> おすすめレベル:<span class="price"><!–{assign var=level value=$arrReview[cnt].recommend_level}–><!–{$arrRECOMMEND[$level]|escape}–></span></p>
<p class="voicetitle"><!–{$arrReview[cnt].title|escape}–></p>
<p class="voicecomment"><!–{$arrReview[cnt].comment|escape|nl2br}–></p>
</li>
<!–{/section}–>
</ul>
<!–{/if}–>
</div>
<!–お客様の声ここまで–>