EC-CUBE2.11.1、携帯サイトの文字化けの対処法

  • このエントリーをはてなブックマークに追加
  • LINEで送る

EC-CUBE2.11.1では、携帯サイト(スマホではなく、ガラケー)へのデータ出力の文字コードをEC-CUBEの内部UTF-8からSHIF-JISへ変換して出力する処理で、サーバーによっては、不具合が発生するようです。

スクリプトファイルを直接編集

/data/class/helper/SC_Helper_Moile.phpの227行目、関数 lfMobileInitOutput 内の

241行目をコメントアウトして下記に変更
// 全角カタカナを半角カタカナに変換する。
//ob_start(create_function(‘$buffer’, ‘return mb_convert_kana($buffer, “k”, “SJIS-win”);’));
ob_start(create_function(‘$buffer’, ‘return mb_convert_kana($buffer, “k”, “UTF-8”);’));

244行目をコメントアウトして下記に変更
// 内部エンコーディングから Shift JIS に変換する。
//ob_start(‘mb_output_handler’);
ob_start();

    function lfMobileInitOutput() {
        // Smarty 用のディレクトリーを作成する。
        @mkdir(COMPILE_REALDIR);

        // 出力用のエンコーディングを Shift JIS に固定する。
        mb_http_output('SJIS-win');

        // 絵文字タグを絵文字コードに変換する。
        ob_start(array('SC_MobileEmoji_Ex', 'handler'));

        // 端末に合わせて画像サイズを変換する。
        ob_start(array('SC_MobileImage_Ex', 'handler'));

        // 全角カタカナを半角カタカナに変換する。
        //ob_start(create_function('$buffer', 'return mb_convert_kana($buffer, "k", "SJIS-win");'));
        ob_start(create_function('$buffer', 'return mb_convert_kana($buffer, "k", "UTF-8");'));

        // 内部エンコーディングから Shift JIS に変換する。
        //ob_start('mb_output_handler');
        ob_start();
    }

【ご参考】
EC-CUBE2.11.xのスマホ版購入フォームで郵便番号が正しい入力できない件の修正
EC-CUBE、管理ツールの受注管理で、規格1のみの商品追加時のエラー回避
EC-CUBEの受注管理、CSV書き出しで、データの途中で改行されてしまう件

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*

CAPTCHA


This blog is kept spam free by WP-SpamFree.