質問 > その他 > euc文字化け対策エラー2.4.1 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
maxuru |
投稿日時: 2009/12/3 13:29
対応状況: −−−
|
新米 登録日: 2009/12/3 居住地: 投稿: 6 |
euc文字化け対策エラー2.4.1 お世話になります。
最近、インストールを始めました。 mysqlがeuc-jpなので文字化けしました。 色々検索するとdb接続時に文字コードをutf-8に変更すれば良い事がわかりました。 で、SC_DbConn.phpを修正し色々試したのですがエラーが出てしまいインストールできません。 お知恵をお借りしたくお願いします。 ◇環境 [EC-CUBE]2.4.1 [PHP]PHP: 4.3.8 [データベース]4.1.10a-log [WEBサーバ] Linux ◆対応方法1 55行目の下に $objDbConn->query('SET NAMES urf8'); を追加 $objDbConn = DB::connect($dsn, $options); $this->dsn = $dsn; $objDbConn->query('SET NAMES urf8'); エラー内容 Fatal error: Call to undefined function: query() ◆対応方法2 55行目の下にprepare、executeを追加 $objDbConn = DB::connect($dsn, $options); $this->dsn = $dsn; $buf = $objDbConn->prepare('SET NAMES utf8'); $objDbConn->execute($buf); エラー内容 Fatal error: Call to undefined function: prepare() ◆対応方法3 66行目の下に $this->conn->query("SET NAMES utf8"); を追加 $this->conn = $objDbConn; $this->conn->query("SET NAMES 'utf8'"); エラー内容 Fatal error: Call to undefined function: query() いづれも、そんな関数無いよと言われているようですが環境を満たしていないのでしょうか よろしくお願いします |
seasoft |
投稿日時: 2009/12/3 16:20
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: euc文字化け対策エラー2.4.1 とりあえず、標準実装でその問題をカバーしている EC-CUBEコミュニティ(eccube-comu) で再現するか気になるところです。
|
maxuru |
投稿日時: 2009/12/4 0:11
対応状況: −−−
|
新米 登録日: 2009/12/3 居住地: 投稿: 6 |
Re: euc文字化け対策エラー2.4.1 ご連絡ありがとうございます。
引用: 標準実装でその問題をカバーしている このニュアンスが良く判らなくてすみません。 EC-CUBEコミュニティ版に対して、対策1,2,3を行った時にどうなるか?で宜しいでしょうか? それとも何もせずEC-CUBEコミュニティ版をインストールして文字化けしない?を確認すれば宜しいでしょうか すみません。ご回答いただければ確認いたします。 どうぞよろしくお願いします。 |
seasoft |
投稿日時: 2009/12/4 1:15
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: euc文字化け対策エラー2.4.1 > EC-CUBEコミュニティ版に対して、対策1,2,3を行った時にどうなるか?で宜しいでしょうか?
> > それとも何もせずEC-CUBEコミュニティ版をインストールして文字化けしない?を確認すれば宜しいでしょうか 標準実装、すなわちはダウンロードした時点で、 必要な (と考えられる?) 対策は行なわれています。 ですので、 「何もせずEC-CUBEコミュニティ版をインストールして 文字化けしない?を確認」 で大丈夫です。 あとは、どのようなパターンで文字化けしたかも若干気になるところです。 (文字化けした箇所やどのような文字の形をしているかなど。)
|
maxuru |
投稿日時: 2009/12/4 12:37
対応状況: 解決済
|
新米 登録日: 2009/12/3 居住地: 投稿: 6 |
Re: euc文字化け対策エラー2.4.1 ご連絡ありがとうございます。
自己解決しましたので記載します。 $objDbConn->query('SET NAMES utf8');をif文で括ってあげたら上手くいきました。 66行目の下に 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(); 大変お手数をおかけしました |
seasoft |
投稿日時: 2009/12/4 12:41
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: euc文字化け対策エラー2.4.1 MySQL をご利用でしたら、if文で括るか否かで動作が変わることは無いはずです。
おそらく挿入位置・記述がネックになっていたのだと思います。 参考まで。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |