Solution to garbled php email title: First use the [base64_encode] function to encode the data; then add the encoding type in front of the title string as [=?UTF-8?B?]; finally save the file into the corresponding encoding format.
Recommendation: "PHP Video Tutorial"
Solution to garbled title of email sent by PHP
Encountered a problem: Chinese characters are garbled when PHPMailer sends emails. Originally, my system was all in English. Later, my needs changed and I needed to add Chinese to the title. However, when I use Android’s built-in email tool to receive, garbled characters appear. It is indeed normal to use QQ mailbox to check.
Solution:
First use the function base64_encode() - use MIME base64 to encode the data
Add the encoding type before the title string. For example: =?UTF-8?B?
Add after the title string: ?=
//例如: $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //utf-8 //将上面一句添加到代码之中,这样,发送的中文邮件标题就不是乱码了。 $subject = "=?GB2312?B?".base64_encode($subject)."?="; //gb2312
There is also information on the Internet that the CharSet attribute can be set using PHPMaile. Due to my problem, I used the above method. It can be solved, so I didn't try this method, but I also recorded it.
The solution is very simple. Add an attribute to the code:
$mail->CharSet = "utf-8"; //设置字符集编码
If it is gb2312 encoding, it is:
$mail->CharSet = "GB2312";
Then save the file as the corresponding Encoding format is enough.
The above is the detailed content of What to do if the php email title is garbled. For more information, please follow other related articles on the PHP Chinese website!