PHP mail()函数乱码的具体解决方法

开发 后端
PHP mail()函数乱码出现的原因一般是函数中header参数缺少Content-type: text/html; charset=utf-8等原因引起的。

我们在使用PHP语言进行代码编程,处理中文字符时经常会遇到乱码出现的问题。我们今天就为大家介绍有关PHP mail()函数乱码的具体解决办法。#t#

一般这种问题出现的原因是 mail() 函数的 header 参数里少了 Content-type: text/html; charset=utf-8,或者 charset 不是utf-8。很多国外的PHP程序一开始开发的时候没有吧中文考虑进去,所以中文使用的时候就会出现PHP mail()函数乱码。

先用函数base64_encode() 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
当然如果是gb2312的话就 =?GB2312?B?
标题字符串后加:?=

PHP mail()函数乱码的处理办法举例如下
 

  1. $to = 'xinple@example.com';  
  2. $subject = "=?UTF-8?B?".
    base64_encode('邮件标题')."?=";  
  3. $headers = 'MIME-Version: 1.0' . "\r\n";  
  4. $headers .'Content-type: 
    text/html; charset=utf-8'
     . "\r\n";  
  5. // Additional headers  
  6. $headers .'To: Xinple <
    < a href="mailto:xinple@example.com">
    xinple@example.com</a>&gt;'
     . "\r\n";  
  7. $headers .'From: Admin &lt;
    <a href="mailto:admin@example.com">
    admin@example.com</a>&gt;'
     . "\r\n";  
  8. $headers .'Reply-To: Xinple &lt;xinple@example&gt;' . "\r\n";  
  9. mail($to, $subject, $message, $headers); 

以上就是PHP mail()函数乱码的具体处理办法,希望对有需要的朋友有所帮助。

责任编辑:曹凯 来源: yaoyingying.com
相关推荐

2009-11-26 15:42:18

PHP函数mail()

2009-12-02 16:53:25

PHP发送邮件乱码

2009-12-04 16:49:38

PHP导出Excel乱

2009-09-07 18:40:28

PHP中文乱码

2010-07-15 14:01:12

telnet乱码

2009-12-09 15:23:36

PHP mail()函

2010-10-13 17:22:12

MySQL查询乱码

2011-01-21 16:40:58

NagiosSendmail

2009-06-25 15:06:20

Javadoc乱码

2011-03-01 15:38:44

Fireftp乱码

2009-11-30 10:55:16

PHP页面乱码

2009-07-01 18:14:36

JSP乱码

2009-12-03 17:18:15

PHP strtoti

2009-12-07 16:52:59

PHP函数getima

2011-09-06 16:04:59

Ubuntu

2009-07-02 13:26:32

JSP中文乱码

2013-01-30 16:54:21

2010-02-24 16:30:52

WCF常见错误

2010-10-14 13:45:44

MySQL函数不能创建

2011-03-11 10:39:07

LAMPPHP
点赞
收藏

51CTO技术栈公众号