[Tep-j-general] Re: oscommerce-2.2ms1j-R7アップ後の文字化けとメーカー名言語切替に関して

アーカイブの一覧に戻る

TAMURA Toshihiko tamur****@bitsc*****
2005年 12月 19日 (月) 12:04:51 JST


こんにちは、田村です。

反応が遅くなってしまいました。

On Thu, 15 Dec 2005 00:28:28 +0900
UHH51****@nifty***** wrote:

> /catalog/includes/modules/payment/remisecsp.phpはEUC-JPにて
> 保存する事を再度確認しています。
> 
> 文字化けする個所は、
> モジュール設定 ->「支払モジュール設定」の
> モジュール名(REMISEコンビニエンスストア決済は除く)は問題ないですが、
> 支払モジュール全ての編集右側テーブルの中の日本語が文字化けになります。
> 
> 当方で それなりに調べたのですが、
> /catalog/includes/modules/payment/remisecsp.phpの22〜23行目の
> 
>       if(ini_get('output_handler') != 'mb_output_handler')
>       ob_start("mb_output_handler");
> 
> を仮にコメントアウトすると文字化けの症状はなくなります。
> この二行は、REMISECSP.php,v 1.0.5a 2004/06/25 以前のバージョンには
> 無かったと思われます。この2行が、何を意味しているかが当方では
> 判断できないため、お分かりの方、ご教授願います。

現象としては、admin側の「支払モジュール設定」画面だけで文字化けが
発生して、caralog 側では発生していないということでしょうか?

こちらの環境では文字化けは起こらなかったのですが、
php関連の設定によっては、以下の(1)(2)の箇所が原因で
文字化けが起こるのかもしれません。

(1) /catalog/includes/modules/payment/remisecsp.php 22〜23行目
------------------------------------------------------------
      if(ini_get('output_handler') != 'mb_output_handler')
      ob_start("mb_output_handler");
------------------------------------------------------------
(2) /catalog/includes/modules/payment/remisecsp.php 103行目
------------------------------------------------------------
      	mb_http_output("SJIS-win");
------------------------------------------------------------

上の(1)(2)のコードを作成者(株式会社エンドレスネット)に
問い合わせたのですが、コードの意図としては、
決済時のPOSTデータをShiftJISに限定しているために、
出力文字エンコーディングShiftJISにしたいということだそうです。

それで、今回のような問題が起こる場合の対策としては、
上の(1)(2)の行をコメントアウトして、
サイトのcatalog側ページをShiftJISで出力するように
php.ini や .htaccess 等で設定を行うのがよいと思います。

(参照) 例3. SJIS ユーザ用の php.iniの 設定
       http://jp.php.net/manual/ja/ref.mbstring.php

-- 
田村敏彦 / 株式会社ビットスコープ
E-mail:tamur****@bitsc*****
http://www.bitscope.co.jp/




Tep-j-general メーリングリストの案内
アーカイブの一覧に戻る