使用mail方法发信时,如果标题或发件人含有中文就会造成乱码,而正文不会。解决办法如下
先用函数base64_encode() ? 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
标题字符串后加:?=
邮件header说明Content-type ? 防止邮件正文也乱码
首先在报文头加入声明
//如果你的网站是GBK,下面将utf-8改为gbk
$headers = 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=utf-8' . "rn";
然后在需要使用中文的地方将中文进行如下转移
//如果你的网站是GBK,下面将utf-8改为gb2312
//例如标题
$subject = "新密码通知信";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
//例如发件人
$headers .= 'From: =?UTF-8?B?'.base64_encode("某某网站").'?=
马斯克Neuralink发布会震撼来袭:七人已植入脑机介面改变人生、下一步终结盲人,超狂路线图公开
为什么花140美元买Solana,而Kaanch只要0.64美元?(限时优惠)
随着山寨币势头回升,当前最值得关注的三大预售加密货币——其中一款已筹集超3亿美元
首席软件工程师表示,Ripple技术上并不持有380亿XRP代币
三位市长与比特币从754美元飙升至107,000美元的传奇
PENGU因ETF传闻飙升22%——为何交易者仍对其持悲观态度?