ウェブ、ショウジン

EC-CUBEの韓国語対応-自動送信メール内の文字化け解消(送信元と宛先部分)

2011-2-12
Category
CMS

EC-CUBE version 2.4.x(たぶん2.4.3か2.4.4)

EC-CUBEの韓国語対応における文字化け問題のひとつを修正。(自動送信されるメール内のもの)

メールタイトル、本文の文字化けはEC-CUBEの韓国語対応-注文受付メール内の文字化け解消でもって解消できていたけれど、メールの送信元(From)と宛先(To)部分の文字が「?」に化けていたのにいまさら気づいたので、これも合わせて修正した。

data/class/SC_SendMail.php

    // 名前<メールアドレス>の形式を生成
    function getNameAddress($name, $mail_address) {
            if($name != "") {
                // 制御文字を変換する。
                $_name = $name;
                $_name = ereg_replace("<","<", $_name);
                $_name = ereg_replace(">",">", $_name);
                if(OS_TYPE != 'WIN') {
                    // windowsでは文字化けするので使用しない。
                    // $_name = mb_convert_encoding($_name,"JIS",CHAR_CODE);
                }
                $_name = mb_encode_mimeheader($_name, "JIS", 'B', "\n");
                $name_address = "\"". $_name . "\"<" . $mail_address . ">";
            } else {
                $name_address = $mail_address;
            }
            return $name_address;
    }

上記のブロック内にある

$_name = mb_encode_mimeheader($_name, "JIS", 'B', "\n");

の中の「JIS」を「UTF-8」に変更。

これで、いままで

From ???<メールアドレス>
To ?? ?? 様<メールアドレス>

となっていた部分が、ちゃんと登録されているハングルが表示されるようになる。

でも、このままだと「様」が日本語のままでおかしいので、これも変更する。この部分が設定されているのは「data/class/helper/SC_Helper_Mail.php」内。(検索して置換でOK)

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿