お役立ち記事・ブログ

EC-CUBEの商品登録CSVで文字化けするときの対応

EC-CUBEバージョン:2.13.5
PHPバージョン:7.2.12
DBバージョン:MySQL 5.5.60-MariaDB
CentOSバージョン:7.5

の環境で商品登録CSVを行った際、「尺」「借」のようなSJISで文字コードの1バイト目や2バイト目が8Eとなる文字が入っている場合、他の文字や改行コードとの組み合わせによって文字化けしていました。
もしかすると、環境によるのかもしれませんが、どうも /data/class/util/SC_Utils.php の sfEncodeFile関数で、

と mb_convert_encoding に「auto」を指定しているとうまく変換できないようですので、/data/class_extends/util_extends/SC_Utils_Ex.php に、

と「auto」を「UTF-8,SJIS-win,eucJP-win,ASCII,JIS」に置き換えたソースを追加することで回避しました。
#/data/class/util/SC_Utils.php を直接修正しても同じです。

ただ、/data/class/SC_Initial.php で

と指定しているのに挙動が異なるのは、不思議ですね。

お問い合わせcontact

  • ホームページ・ポータルサイト制作、起業支援に関することはお気軽にご相談・お問い合わせください

    TEL:050-3152-1848

    電話受付時間:平日9:30~18:30

  • メールでのお問い合わせは24時間受付OK!(無料)

    メール受付はコチラ
ページトップへ戻る