Post by jonghwa » Mon Jan 28, 2013 2:58 pm


The default language of my cart is not English, but Korean, and the cart version is

If the order is complete, the cart sends an email by "system/library/mail.php".

If the protocol is "mail", it encodes the subject correctly as follows:

Code: Select all

                if ($this->protocol == 'mail') {
                        ini_set('sendmail_from', $this->from);

                        if ($this->parameter) {
                                mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter);
                        } else {
                                mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header);
However, it does not encode the subject if the protocol is "smtp" (not "mail").

Code: Select all

                if ($this->protocol != 'mail') {
                        $header .= 'To: ' . $to . $this->newline;
                        $header .= 'Subject: ' . $this->subject . $this->newline;
I believe that most of non-English mail clients will try to decode the subject in their own language character set if not specified. Of course, it shows broken title.

I changed the line:

Code: Select all

                        $header .= 'Subject: ' . $this->subject . $this->newline;

Code: Select all

                        $header .= 'Subject: ' . '=?UTF-8?B?' . base64_encode($this->subject) . '?=' . $this->newline;
It works fine.

Please, consider the core code update. Thank you.

핀코인 (

extensions by pincoin

User avatar
New member


Thu Oct 25, 2012 12:29 pm
Location - Seoul

Post by iLef » Mon Mar 25, 2013 5:33 am

Thank you veeeeeeeeeeeeeeeery much my friend!

It works great!

Good Job!

Greetings From Greece!




Fri Mar 15, 2013 7:44 pm

Post by butte » Mon Mar 25, 2013 8:05 am

More generally, customary character sets are broadly regional, such as western ISO-8859-1, unicode UTF-8, and several others. Forcing everyone to UTF-8 is probably not the best change to core. Either an installation option (also probably not best) or an admin panel setting (probably the most likely acceptable to most people) for character sets would allow people to set it as they wish. An additional wrinkle is that browsers provide a setting for Character Encoding (however worded), and that can override a website, while in your own region most users may already have their browsers preset to favor UTF-8. Hard-recoding the line to a preference, as you did to UTF-8, remains an option that anyone can use.

Guru Member


Wed Mar 20, 2013 6:58 am

Post by » Fri Jan 10, 2014 8:04 am

Thank YOU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Did this small vQMod to make the change without changing the original file.



Fix e-mail subject encode problem



Mon Dec 31, 2012 9:11 pm

Post by adriankoooo » Fri Feb 28, 2014 5:08 am

Yesss! Thank you. :)

Active Member


Thu Mar 03, 2011 6:52 am

Post by p3nsy » Sun Jan 31, 2016 6:35 am

Hello! I'm having this same problem but the other way around, I get the random UTF-8 email subjects when I'm using protocol 'mail' and I just don't find any source on how to fix it, so far your solution is the most similar but it didn't fix it when I tried :(



Fri Jan 29, 2016 3:19 am
Who is online

Users browsing this forum: No registered users and 6 guests