質問 > 管理機能 > 文字化け |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
x67 |
投稿日時: 2009/1/17 11:54
対応状況: −−−
|
新米 登録日: 2009/1/16 居住地: osaka 投稿: 9 |
Re: 文字化け お騒がせしました。
なんとも間の抜けたハナシですがphp.iniにて 以下の文にて文字化け脱出しました。 mbstring.http_output = UTF-8 mbstring.internal_encoding = UTF-8 これと ../ec_cube/data/class/SC_DbConn.phpの65行目付近に以下を追記。 if (DB_TYPE == "mysql") { $objDbConn->query("SET NAMES utf8"); } (同じファイルの他の文を見ると引用府が " なので合わせました)' でも " でもどっちでもいいのかな? |
x67 |
投稿日時: 2009/1/17 11:23
対応状況: −−−
|
新米 登録日: 2009/1/16 居住地: osaka 投稿: 9 |
Re: 文字化け configファイル見つけました。
ありがとうございます。 MySqlの見直しをしたところ character_set_filesystem binary character_set_server ujis 以外はutf8でしたね。 状況は以前変わらずですが ご報告までに。 |
tonton |
投稿日時: 2009/1/17 0:12
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 文字化け /data/install.php
がインストール時に入力した内容を元に書き込まれるCONFIGファイルです。 >とりあえずこれだけで試してみましたが、症状は変わらず。。 再度インストールし直してみます。 そうですね。ここが原因のことは多いと思うのですが、違う原因も考えられますし、取り合えず、可能であれば可能性のあるところはつぶしておいたほうが安心かもしれません。 がんばってください。 |
x67 |
投稿日時: 2009/1/16 21:28
対応状況: −−−
|
新米 登録日: 2009/1/16 居住地: osaka 投稿: 9 |
Re: 文字化け tonton様、引き続きありがとうございます。
引用:
とりあえずこれだけで試してみましたが、症状は変わらず。。 再度インストールし直してみます。 ソースが多いので全く読んでないのですが、 configファイル的な物がどこかに存在するのでしょうか? 再度入力するのが面倒なので。 |
tonton |
投稿日時: 2009/1/16 20:42
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 文字化け >無いですね。
ああ。了解しました。 じゃあ、そこが原因かもしれませんね。 >ファイルごとにバージョンがあるわけじゃないんですねEC CUBEは。 そうですね。わたしも履歴欲しいです。 ちょこちょこカスタマイズをしてしまっているので、新しくなったソースだけマージしたいなと思うことがあります。 さて。 ------------- $this->dsn = $dsn; } else { if(defined('DEFAULT_DSN')) { $objDbConn = DB::connect(DEFAULT_DSN, $options); $this->dsn = DEFAULT_DSN; } else { return; } } } if (DB_TYPE == 'mysql') { $objDbConn->query('SET NAMES utf8'); } $this->conn = $objDbConn; $this->error_mail_to = DB_ERROR_MAIL_TO; $this->error_mail_title = DB_ERROR_MAIL_SUBJECT; $this->err_disp = $err_disp; $this->dbFactory = SC_DB_DBFactory_Ex::getInstance(); } -------------- こういう感じで、 $this->conn = $objDbConn; の前に入れてみてください。 それで解決するかもしれません。 ただ、一旦、文字コードが変わってしまったDBのデータは、後から直るわけではないので、もしかしたら、可能なら、一旦文字コードをセットしたと頃から再インストールしたほうが安全かもしれませんね。 (データはデータ自体に文字化けが無ければバックアップを取って後から格納すれば良いと思うので。) |
x67 |
投稿日時: 2009/1/16 20:03
対応状況: −−−
|
新米 登録日: 2009/1/16 居住地: osaka 投稿: 9 |
Re: 文字化け tonton様、レスありがとうございます。
引用:
無いですね。 その付近のコードは55行目より 引用:
こんな感じです。 if (DB_TYPE == 'mysql') { $objDbConn->query('SET NAMES utf8'); } これを何処に入れるべきか、、 他の行を見ると if (DB_TYPE == 'mysql') が if (DB_TYPE == "mysql") ですがシングルクオートでも良いのですか? というよりも、 ファイルごとにバージョンがあるわけじゃないんですねEC CUBEは。 oscommerceだと作成した日とバージョンがコピーライトの部分に 入っているので分かりやすいんですけどね。 |
tonton |
投稿日時: 2009/1/16 19:46
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 文字化け DBの文字コードをセットするときに、
alter database 〜DB名 character set utf8; で文字コードをセットされました? その次に show variables like "char%"; で文字コードをチェックしたときに、サーバーのシステム文字コード以外UTF-8になっています? SQLで上記2つを確認して頂いて、それで文字化けする場合は、 /data/class/SC_DbConn.php のL65あたりを見てみてください。 if (DB_TYPE == 'mysql') { $objDbConn->query('SET NAMES utf8'); } という行が無くはないですか? 先日、新しいサーバに2.3.3を入れたとき、EC-CUBEサイトからダウンロードしてきた2.3.3のソースには、2.3.2では入っていた上記コードが再び抜けてしまっていました。 データベースサーバの文字コードのデフォルトがUTF-8ではない場合、上記コードが入っていないと、一旦UTF-8にセットしてもまたスクリプトを起動したときに元の文字コードに戻ってしまうそうです。 同じ現象かどうかわかりませんが、この辺が一番怪しそうな気がします; 違ったら、ごめんなさい。 |
x67 |
投稿日時: 2009/1/16 18:26
対応状況: −−−
|
新米 登録日: 2009/1/16 居住地: osaka 投稿: 9 |
文字化け お世話になります、初投稿です。
インストールまでは問題なく動きました。 お店として動かそうと、管理画面の SHOPマスタ登録を記入して『この内容で登録する』 ボタンを押すと、日本語の部分のみ文字化けします。 こんな感じで。=>եȥ EC CUBEがUTF-8バージョンだったので、DBもUTF-8です。 以前インストールしていたoscommerce用にphp.iniで設定 を変えていたのですが、それを削除しても同じ症状です。 何処を弄れば良いのでしょうか? 何かご存知の方、アドバイスお願いします。 環境 EC-CUBE:2.3.3 OS:Linux DB:MySQL 5.0.22 UTF-8 WEB:Apache/2.0.52 (Red Hat) PHP:4.3.9 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |