バージョン選択

フォーラム

メニュー

オンライン状況

72 人のユーザが現在オンラインです。 (52 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 71
tattsu もっと...

サイト内検索

質問 > その他 > 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) で再現するか気になるところです。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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コミュニティ版をインストールして
文字化けしない?を確認」
で大丈夫です。


あとは、どのようなパターンで文字化けしたかも若干気になるところです。
(文字化けした箇所やどのような文字の形をしているかなど。)


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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文で括るか否かで動作が変わることは無いはずです。
おそらく挿入位置・記述がネックになっていたのだと思います。
参考まで。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,267名です
総投稿数は110,060件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1299
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.