当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP使用mail函数发送邮件标题乱码问题

PHP
仅用PHP4 Session实现的迷你购物篮(一)
仅用PHP4 Session实现的迷你购物篮(二)
MySQL数据导入与导出之二
实例学习PHP之FastTemplate 模板篇
PHP4调用自己编写的COM组件
简单的页面缓冲技术(一)
简单的页面缓冲技术(二)
简单的页面缓冲技术(三)
用Socket发送电子邮件(一)
用Socket发送电子邮件(二)
PHP/MySQL 购物车
介绍几个array库的新函数
一个用PHP实现的UBB类!
免费主页管理程序2.3(一)
在Linux下安装显卡驱动程序
用PHP发送有附件的电子邮件
PHP的十个高级技巧(上)
PHP的十个高级技巧(中)
PHP的十个高级技巧(下)
实例学习PHP之投票程序篇(二)

PHP使用mail函数发送邮件标题乱码问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 181 ::
收藏到网摘: n/a

PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。

解决方法:

先用函数base64_encode() — 使用 MIME base64 对数据进行编码

标题字符串前加编码类型例如: =?UTF-8?B?

标题字符串后加:?=

邮件header说明Content-type — 防止邮件正文也乱码

举例:

以下为引用的内容:

 $to         = '[email protected]';
$subject  = "=?UTF-8?B?".base64_encode('邮件标题')."?=";
$headers  = 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=utf-8' . "rn";
// Additional headers
$headers .= 'To: Xinple <[email protected]>' . "rn";
$headers .= 'From: Admin <[email protected]>' . "rn";
$headers .= 'Reply-To: Xinple <xinple@example>' . "rn";
mail($to, $subject, $message, $headers);