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

スポンサー

※当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

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書き出しで、データの途中で改行されてしまう件

EC-CUBE
スポンサー
コネクト

コメント

タイトルとURLをコピーしました