HTML/PHP/JSP · 2012/09/08

PHP发邮件与中文乱码问题

想在我的网站实现这样一个功能:

通过表单让客户下订单,然后提交时将表单以html方式发送到我的邮箱。

这个功能其实很方便,我网上找了一个和我描述一样的代码,可惜在测试的时候发现了几个问题:

1. 空间的支持问题:

我用的是justhost主机,成功过几次,不过是半个小时候才发送出去; 后来基本上都是失败的;

而使用本地的主机测试时,很快并且每次都是成功的;

这样的情况只能找空间服务商解决。

2. 中文乱码问题:

这边的乱码有三块,

(1)网页的乱码,将html、php都保存为utf-8格式就行了。建议用notepad++,非常方便;

(2)邮件内容的乱码,需要在你创建的html邮件内容中写上:

<meta http-equiv=’Content-Type’ content=’text/html; charset=utf-8′>

(3)邮件标题的乱码,需要这样写标题:

$mailsubject = ‘=?utf-8?B?’ . base64_encode(‘订单’) . ‘?=’;//邮件主题