バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。

フロント機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ramrun
投稿日時: 2009/4/15 15:45
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
参照先は2年前の投稿ですから、変換スクリプトは必要ないですよ。
当時はEC-CUBE1で、EUC-JPで書かれていましたから、UTF-8に変換して使おうとしていたころの話です。

いまのところ、「こういう可能性もあるよね」てきな回答ですから、実際のmasumiさんの状況がこれによって起きているのかはわかりません。

ところでPHPはモジュール版またはCGI版どちらですか?
あとPHPINFOの状態がわかればいいのですが。
masumi
投稿日時: 2009/4/15 16:55
対応状況: −−−
半人前
登録日: 2008/10/22
居住地:
投稿: 25
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
お世話になります。

ramrun様
ご返信ありがとうございます。
引用:

ramrunさんは書きました:
参照先は2年前の投稿ですから、変換スクリプトは必要ないですよ。
当時はEC-CUBE1で、EUC-JPで書かれていましたから、UTF-8に変換して使おうとしていたころの話です。

いまのところ、「こういう可能性もあるよね」てきな回答ですから、実際のmasumiさんの状況がこれによって起きているのかはわかりません。

ところでPHPはモジュール版またはCGI版どちらですか?
あとPHPINFOの状態がわかればいいのですが。

そうでしたか・・・確認を怠ってしまって申し訳ありませんでした。
PHPはモジュール版だと思います。
またPHPINFOの状態とは、どの部分かわからないので、必要そうかなと思う部分を記載させて頂きます。
足りていなければ、ご指示頂けますと幸いです。
-------------------------------------------------------
System Linux hs08.wadax.ne.jp 2.6.9-78.0.17.ELsmp #1 SMP Thu Mar 5 04:52:17 EST 2009 i686
Build Date Jan 29 2009 16:01:50
Configure Command './configure' '--with-apxs2=/var/lib/httpd/bin/apxs' '--enable-mbstring' '--enable-mbregex' '--with-mysql=/usr' '--with-pgsql=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-jpeg-dir=/usr' '--with-zlib-dir=/usr' '--with-openssl=/usr' '--enable-exif' '--with-mcrypt' '--with-curl' '--with-xsl' '--with-pdo-mysql=/usr' '--with-pdo-pgsql=/usr'
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib
Loaded Configuration File /usr/local/lib/php.ini
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib, https, ftps
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, zlib.*
-------------------------------------------------------
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation enabled
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive Local Value Master Value
mbstring.detect_order auto no value
mbstring.encoding_translation On On
mbstring.func_overload 0 0
mbstring.http_input UTF-8 pass
mbstring.http_output UTF-8 pass
mbstring.internal_encoding UTF-8 no value
mbstring.language Japanese Japanese
mbstring.strict_detection Off Off
mbstring.substitute_character none no value
-------------------------------------------------------
お手数をお掛けいたしますが、宜しくお願い申し上げます。
ramrun
投稿日時: 2009/4/15 19:53
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
う〜む。

まず、先にkishikさんが書いている
引用:
masumi様が書き出された文字列が正しいとして、
": {"
を全て
":{"
に置き換えて、
s:83:" 3. お支払受付番号に上記「受付番号(4桁?7桁)」を入力。";

s:81:" 3. お支払受付番号に上記「受付番号(4桁?7桁)」を入力。";
に置き換えればエラーは無くなりますね。

ですが、
": {"

に関しては、masumiさんの環境では問題ないのでしょう。
こちらの環境では問題ありなのですが、masumiさんの環境では相殺?されているものと思います。
またファミリーマートのほうもOKなんですよね?
(こちらの環境ではkishikさんが書いているようにNGなのですが)


引用:
s:83:" 3. お支払受付番号に上記「受付番号(4桁?7桁)」


4桁?7桁

がもともとは
4桁〜7桁

ですね。
それでs:83をs:81にしなければいけなくなったと。

で、この文言は
eccube/data/downloads/module/mod_fregi/fregi_conveni_lawson.php
の中に直打ちで書かれています。

モジュールのダウンロードの段階でおかしくなっているのか、それを取り込んでからおかしくなっているのかはチェックしていく必要があるでしょうが、とりあえずfregi_conveni_lawson.phpの4桁〜7桁を4桁から7桁とかに変えたら動きますか?
seasoft
投稿日時: 2009/4/15 21:13
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7369
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
> fregi_conveni_lawson.phpの4桁〜7桁を4桁から7桁とかに変えたら動きますか?

EUC-JP に全角チルダが存在しないことに依存するようですので、暫定的には、それでも良いと思いますよ。


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

masumi
投稿日時: 2009/4/16 11:28
対応状況: −−−
半人前
登録日: 2008/10/22
居住地:
投稿: 25
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
お世話になります。

ramrun様
seasoft様
ご返信ありがとうございます。

>fregi_conveni_lawson.phpの4桁〜7桁を4桁から7桁とかに変えたら動きますか?
動きました!!!
正常に処理がされました!!!!
注文完了ページにも支払い情報が表示され、またメールにもちゃんと表示されるようになりました!!!
本当に本当にありがとうございました。

長々とお付き合いいただきまして、本当にありがとうございました。
心より御礼申し上げます。
今後とも何卒宜しくお願い申し上げます。
ramrun
投稿日時: 2009/4/16 12:41
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
よかったですね。
こうなることは予想できていたのですが、念のため言っておきますと、masumiさんはとりあえず動かしたいのだと思ったのでいじるところを書きましたが、回答者としては『そうなった原因』を知りたいんですよ(汗)。

PHPINFOをみますと--enable-zend-multibyteが無いですからmbstring.script_encodingが設定できない状態なのは確かです。
でもこれが原因か?といわれると...
serializeはUTF-8として文字列を数えていることと、〜がDBでは?になっていることを考えると、PHP<-->MySQLのやり取りのほうが怪しいです。

seasoftさんが書いている
引用:
文字コードのマッピングが関わっていそうです。

どの階層に原因があるか、特定はできていませんが、
> DBバージョン MySQL 4.1.22
の問題かも。

だとすれば、MySQL 4.1系を使っている人は要注意ですね。

PHPINFOで
mbstring.http_input UTF-8 pass
mbstring.http_output UTF-8 pass

となっているのが気になったのですが、これで携帯はOKなの?
masumi
投稿日時: 2009/4/16 13:02
対応状況: −−−
半人前
登録日: 2008/10/22
居住地:
投稿: 25
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
お世話になります。

ramrun様
ご返信ありがとうございます。
引用:

こうなることは予想できていたのですが、念のため言っておきますと、masumiさんはとりあえず動かしたいのだと思ったのでいじるところを書きましたが、回答者としては『そうなった原因』を知りたいんですよ(汗)。

そうですよね、ご丁寧にお教え下さっているにもかかわらず、喜びのあまりとても失礼な言動をしてしまいました。
本当に申し訳ありませんでした。

引用:
PHPINFOをみますと--enable-zend-multibyteが無いですからmbstring.script_encodingが設定できない状態なのは確かです。

現在のレンタルサーバでは.htaccessに設定する事以外は出来ないそうなので、設定するのであればレンタルサーバを変更する他なさそうです。

引用:
だとすれば、MySQL 4.1系を使っている人は要注意ですね。

ではMySQLのバージョンを上げるとかしたほうが、良いのでしょうか。
もしくは、現在のレンタルサーバだとPostgreSQL7.4系が使用出来るようなので、そちらに移行するか・・・でしょうか。
何れにしても、今すぐに移行は出来ないので、今後の課題として検討しようと思います。

引用:
となっているのが気になったのですが、これで携帯はOKなの?

携帯の方ですが、今のところ使用しておりません。
念のため、確認致しましたところ、PC版同様正常に処理されました。

宜しくお願いします。
ramrun
投稿日時: 2009/4/16 13:30
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
あ〜 いえいえ、そんなに気にせずに。
いまtracをながめてたんですが、原因がわかったっぽいです。

masumiさんが使っているEC-CUBE 2.3.0はdata/class/SC_DbConn.phpでSET NAMES utf-8を発行してないんですね。
コミュで改修されたのが取り込まれているものだと思ってました(汗)。
2.4.0 RC1も取り込んでいないんだなぁ...

多分、MySQLのコネクションがデフォルトでujisかなにかになっていて、DBには微文字化け状態でデータが格納されているものと思います。

 PHP(UTF-8)<->MySQLコネクション(ujis)<->MySQL DB(UTF-8)

MySQLでは変換ができなかった文字は?に置き換えられますから、そこで引っかかったんですね。

一応こういうやりかたもあるのですが、運営中のDBのデータを変換するのはリスクが高いですから、そのまま騙し騙し使ってもらうしかないかも(汗)。
masumi
投稿日時: 2009/4/16 13:56
対応状況: −−−
半人前
登録日: 2008/10/22
居住地:
投稿: 25
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
お世話になります。

ramrun様
ご返信ありがとうございます。

引用:

masumiさんが使っているEC-CUBE 2.3.0はdata/class/SC_DbConn.phpでSET NAMES utf-8を発行してないんですね。
コミュで改修されたのが取り込まれているものだと思ってました(汗)。
2.4.0 RC1も取り込んでいないんだなぁ...

多分、MySQLのコネクションがデフォルトでujisかなにかになっていて、DBには微文字化け状態でデータが格納されているものと思います。

 PHP(UTF-8)<->MySQLコネクション(ujis)<->MySQL DB(UTF-8)

MySQLでは変換ができなかった文字は?に置き換えられますから、そこで引っかかったんですね。

そうでしたか。
他の(ファミリーマートなど)が正常に処理されていたので、全く気づく事が出来ませんでした・・・。
もっと注意深く確認するべきでした。
以後気をつけたいと思います。

早速、data/class/SC_DbConn.phpを確認しました。
ramrun様様の仰っておられる部分は、下記の部分でしょうか?
見当違いの部分でしたら申し訳ありません・・・。
(SET NAMESで検索してみました。)
----------------------------------------------------
$this->conn = $objDbConn;
if (!PEAR::isError($this->conn)) { $this->conn->query("SET NAMES utf8");}
$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();
-------------------------------------------
引用:
一応こういうやりかたもあるのですが、運営中のDBのデータを変換するのはリスクが高いですから、そのまま騙し騙し使ってもらうしかないかも(汗)。

参照先拝見しました!
そういったやり方もあるのですね。
勉強させて頂きました。
でも運営中なので、データ変換はやっぱりちょっと怖いですね・・・。
もしくは、何箇所かある下記部分に、
-------------------------------------------
if (DB_TYPE == "mysql") $n = $this->dbFactory->sfChangeMySQL($n);
-------------------------------------------
参照先にあった、下記部分を
追加したほうが良いのでしょうか?
-------------------------------------------
if (DB_TYPE == 'mysql') {
$objDbConn->query('SET NAMES utf8');
}
-------------------------------------------

重ね重ね質問ばかりで申し訳ありません。
宜しくお願いします。
ramrun
投稿日時: 2009/4/16 14:17
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。
あれ? ちょっとまってください。
$this->conn = $objDbConn;
if (!PEAR::isError($this->conn)) { $this->conn->query("SET NAMES utf8");}
$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();

もうなってますね(汗)。

インストールはどうやりました?
WADAXのEC-CUBEは自動インストール?
« 1 2 3 (4) 5 6 »
| 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,052名です
総投稿数は110,298件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1678
8
red
1571
9
mcontact
1347
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.