質問 > フロント機能 > F-REGI決済モジュールのエラー文言文字化け |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Klif |
投稿日時: 2009/4/23 13:43
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2009/4/23 居住地: 神奈川県 投稿: 22 |
F-REGI決済モジュールのエラー文言文字化け 決済モジュール内の文字コード変換について
以下のケースで解決できずに困っています。 どなたかアドバイスいただけると助かります。 よろしくお願いします。 【開発環境】 IIS(アイルのレンタルサーバー「インフィニート」) PHP5 MySQL4 php.iniの変更は不可 mb_stringのデフォルト ------------------------- mbstring.detect_order:auto mbstring.encoding_translation:Off mbstring.func_overload:0 mbstring.http_input:UTF-8 mbstring.http_output:UTF-8 mbstring.internal_encoding:UTF-8 mbstring.language:neutral mbstring.strict_detection:Off mbstring.substitute_character:none -------------------------- 【現象】 カードもしくはコンビニを選択肢決済時に カード番号や電話番号に入力ミスがあった場合 FREGI側のサーバーより所定のエラーコード+エラーメッセージ(日本語) が返され、それが表示されますが エラーメッセージ(日本語)部分が文字化けしています。 【対応】 FREGI側に連絡すると、エラーメッセージは「EUC-JP」でしか渡せないとのこと。 .htaccessでまたは、mb_convert_encodingで試したのですがなおりません。 |
ramrun |
投稿日時: 2009/4/23 13:51
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: F-REGI決済モジュールのエラー文言文字化け そのあたりの処理をみないで書いているのでハズレかもしれませんが...
引用: mbstring.http_input:UTF-8 mbstring.http_inputをpassにできませんか? |
Klif |
投稿日時: 2009/4/23 14:28
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2009/4/23 居住地: 神奈川県 投稿: 22 |
Re: F-REGI決済モジュールのエラー文言文字化け 早速のご回答ありがとうございます。
アドバイス通り変更してみましたがやはり以下のような状態でした。 -------------------- エラーが発生しました。 C1-1-73(����ӥ���ʸ�������TEL��û�����ޤ�) -------------------- ↑この化けている箇所は、ブラウザからテキストエンコーディングを「日本語EUC」 指定するとC1-1-73(コンビニ注文処理時のTELが短すぎます)のように表示されます ブラウザのURLは以下なので shopping/load_payment_module.php .htaccessは「/html/shopping/」配下に設置致しました。 以上、何かアドバイスいただけると嬉しいです。 |
seasoft |
投稿日時: 2009/4/23 14:39
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: F-REGI決済モジュールのエラー文言文字化け 引用:
↑この化けている箇所は、ブラウザからテキストエンコーディングを「日本語EUC」 だとしたら、mb_convert_encoding で良いと思うんですけどね。 どのようなコードを書いたか、貼っておくと良いのでは?
|
ramrun |
投稿日時: 2009/4/23 15:41
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: F-REGI決済モジュールのエラー文言文字化け ちと気になったので追っかけてみました。
data/downloads/module/mdl_fregi/LC_Page_Mdl_Fregi_Payment.phpでデータのやり取りをしているようです。 情報をsendPost()して$responseに受け取り、sendDataで完了画面へリダイレクト、またはエラー画面へ。 で、sendPost()で$responseにデータを受け取って、そこにエラーメッセージなども格納されてくるようですが、その後
$responseは配列なので、mb_convert_encodingが効いていない模様。 そっちを直すのが正当と思いますが、sendData()の
|
Klif |
投稿日時: 2009/4/23 17:24
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2009/4/23 居住地: 神奈川県 投稿: 22 |
Re: F-REGI決済モジュールのエラー文言文字化け ご丁寧ご親切なアドバイス恐縮です。
私もはじめ、$responseに対して $response=mb_convert_encoding($response,"UTF-8","EUC-JP"); としたのですが、結果は Array とだけ表示され、「あー、配列なんだ」となり $response[1]にmb_convert_encodingをかけると同じく Array とだけ表示され 最後に、ご指摘の $this->tpl_error = "エラーが発生しました。<br/>". $this->message; 部分へのmb_convert_encodingの記述が悪かったのか、 ファイルが壊れてしまい バックアップしておいたファイルに戻し、断念してしまいました。 【以下の記述では上手く行きませんでした】 $this->message=mb_convert_encoding($this->message,"UTF-8","EUC-JP"); よろしければご教示お願いしたいと思います。 |
Klif |
投稿日時: 2009/4/23 17:26
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2009/4/23 居住地: 神奈川県 投稿: 22 |
Re: F-REGI決済モジュールのエラー文言文字化け ご指摘ありがとうございます。
どうしても解決しなければ有償でお願いしたいと思いますので その際にはお世話になります。 引き続きよろしくお願いします。 |
seasoft |
投稿日時: 2009/4/23 17:31
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: F-REGI決済モジュールのエラー文言文字化け とりあえず、
$this->message=mb_convert_encoding($this->message,"UTF-8","EUC-JP"); の前後で、当該変数を var_dump して、どうなっているか辺りが気になるところです。
|
Klif |
投稿日時: 2009/4/23 23:51
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2009/4/23 居住地: 神奈川県 投稿: 22 |
Re: F-REGI決済モジュールのエラー文言文字化け アドバイス通り、var_dumpしてみたところ
Array[0]に全ての変数が入っていました。 そこで、以下のコードを書いて試してみたところ 文字コードをコンバートする事が出来ました。 本当にありがとうございます。 お二人のお陰で助かりました。 また、今後同じケースでつまずく方のヘルプになれば幸いです。 $this->message[0]=mb_convert_encoding($this->message[0],"UTF-8","EUC-JP"); $this->tpl_error = "エラーが発生しました。<br/>". $this->message[0]; |
seasoft |
投稿日時: 2009/4/24 11:40
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: F-REGI決済モジュールのエラー文言文字化け チケットを登録しました。
http://svn.ec-cube.net/open_trac/ticket/444
|
(1) 2 3 4 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |