バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > F-REGI決済モジュールのエラー文言文字化け

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ramrun
投稿日時: 2009/5/13 13:12
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: F-REGI決済モジュールのエラー文言文字化け
IISの情報は少ないし、自分も扱ったことがないのでこちらも勉強になました。
IISではphp.iniをどこに置いても読み取るわけではなさそうですね。

test.phpとか、ご自身のサイトへのリンクは編集していただいてかまいませんよ。
Klif
投稿日時: 2009/5/12 13:44
対応状況: −−−
半人前
登録日: 2009/4/23
居住地: 神奈川県
投稿: 22
Re: F-REGI決済モジュールのエラー文言文字化け

seasoft様

確認いただきありがとうございます!
以下は不明なままですが
ramrun 様のアドバイスにありました
mb_language('Japanese');
1行挿入で解決した模様です。

今回のご対応、非常に心強く支えになりました。
ありがとうございました!

--------------------
$this->message[0]の変換が$requestまで影響している?というのは謎ですが...
--------------------

Klif
投稿日時: 2009/5/12 13:41
対応状況: −−−
半人前
登録日: 2009/4/23
居住地: 神奈川県
投稿: 22
Re: F-REGI決済モジュールのエラー文言文字化け
ramrun様

data/class/SC_Initial.phpに

mb_language('Japanese');

を入れただけで全て解決しました!

--------------------
$this->message[0]の変換が$requestまで影響している?というのは謎ですが...
--------------------

↑本当に謎です。

本当にありがとうございます!!!
seasoft
投稿日時: 2009/5/12 13:25
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: F-REGI決済モジュールのエラー文言文字化け
重ねての確認となりますが、文字化け対応の変更箇所・内容は ↓ ですか?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=3814&forum=10&post_id=15694

私も ramrun 様と同じく、
> $this->message[0]の変換が$requestまで影響している?というのは謎ですが...
のように感じていまして。

ソースをざっと追って見たのですが、影響しそうな箇所を見つけられず・・・


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

Klif
投稿日時: 2009/5/12 13:07
対応状況: −−−
半人前
登録日: 2009/4/23
居住地: 神奈川県
投稿: 22
Re: F-REGI決済モジュールのエラー文言文字化け
seasoft様

いつも返信いただきありがとうございます。

はい。文字化け対応しなければ全ての決済処理+付随するオプション処理(カード番号登録)が正常なのです。

そして、変更内容はコードのたった1行にmb_convert_encodingしただけなのです。

ramrun
投稿日時: 2009/5/12 7:54
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: F-REGI決済モジュールのエラー文言文字化け
ちとmbstringの挙動をきちんと調べたことがないので外しているかもしれませんが...

mbstring.encoding_translation	On
mbstring.internal_encoding      UTF-8

であれば、HTTP入力文字(この場合f-regiからのEUC-JPの応答電文)がinternal_encoding(内部文字エンコーディング)UTF-8に変換(encoding_translation)されるはずです。

要するに、これが効いていればmb_convert_encoding($request, CHAR_CODE, 'auto')をする必要がないのではないかと思います。

つぎにmb_convert_encoding()のautoはmbstring.internal_encodingの設定が影響しますが、PHPマニュアルには
引用:
mbstring.language string

mbstring で使用される言語設定(NLS)のデフォルト値。 この設定は mbstring.internal_encoding を定義するため、 php.ini の中で mbstring.internal_encoding は、 mbstring.language の後に置く必要があることに注意してください。

とあり、mbstring.languageの設定が必要である模様。

mbstring.languageについてはdata/class/SC_Initial.phpにmb_language()を入れることで対応できそうです。
function mbstringInit() {
    mb_language('Japanese');
    ini_set("mbstring.http_input", CHAR_CODE);
    :


もしくはautoを使わずに
$request = mb_convert_encoding($request, CHAR_CODE, 'EUC-JP');

ならばいけるような気もしますが、その際にはやはり$requestが配列だとまずいのでarray_map()と組み合わせるといいかも。

$this->message[0]の変換が$requestまで影響している?というのは謎ですが...
seasoft
投稿日時: 2009/5/12 3:50
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: F-REGI決済モジュールのエラー文言文字化け
> 現在は、一旦文字化けする状態に戻しておりますが、決済+カード登録は正常稼働しています。

ん??
文字化け対応しなければ、大丈夫ということですか?

変更内容は ↓ ですか?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=3814&forum=10&post_id=15694


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

Klif
投稿日時: 2009/5/12 3:38
対応状況: −−−
半人前
登録日: 2009/4/23
居住地: 神奈川県
投稿: 22
Re: F-REGI決済モジュールのエラー文言文字化け
ramrun様

折角アドバイスいただいて解決するかなーと期待しましたが
php.iniを設置しましたがphpinfoの値は変更できませんでした。。

やはりサーバーに依存する問題だと半ば諦めモードです。

1)IISなので.htaccessが一部リダイレクト処理にしか使えない
2)php.iniの変更が許可されていない

http://winfaq.isle.jp/FaqItem?i_faqId=285&i_categoryId=0


この2点からphpのmb_string操作に制限が出来てしまい
EC CUBE+F-REGI+インフィニートの組み合わせでは
エラー文言文字化けは修正できても他の挙動に障害が生じるという結論です。

現在は、一旦文字化けする状態に戻しておりますが、決済+カード登録は正常稼働しています。

念のため、明日の営業時間中にアイルに電話し、phpのmb_stringの2カ所を変更する方法はないか問い合わせてみるつもりです。
問合せの結果はすぐに報告しますが、他のアイデアがございましたらご教授お願いします。

Klif
投稿日時: 2009/5/12 1:14
対応状況: −−−
半人前
登録日: 2009/4/23
居住地: 神奈川県
投稿: 22
Re: F-REGI決済モジュールのエラー文言文字化け
ramrun様

遅くまでおつき合いいただきありがとうございました。。
アドバイスに従い確認してみます。

結果は必ず報告します!

ありがとうございます。
ramrun
投稿日時: 2009/5/12 1:01
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: F-REGI決済モジュールのエラー文言文字化け
えと、赤字の部分がイケナイところです。
mbstring.detect_order           auto
mbstring.encoding_translation	Off On
mbstring.func_overload          0
mbstring.http_input             UTF-8
mbstring.http_output            UTF-8
mbstring.internal_encoding      UTF-8
mbstring.language               neutral Japanese
mbstring.strict_detection       Off
mbstring.substitute_character   none

html/.htaccessが効いていれば黒字のようになります。

.htaccessが使えないサーバーなんですか?
失礼しました。寝ぼけてますねw

Microsoft-IIS/6.0 だからApacheじゃないんだから.htaccessが効くわけないか...

とりあえずhtml/shoppingにphp.iniファイルを作成して、中身は
mbstring.language = Japanese
mbstring.encoding_translation = On

としたら一連の処理がうまくいくのではないかと思います。
(1) 2 3 4 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,724名です
総投稿数は109,953件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
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.