PHP mail 中文乱码的解决方式
主要是编码的问题:解决办法就是: 读取的数据设置好编码方式; 发邮件的时候也指定编码方式;
先用函数base64_encode() 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
当然如果是gb2312的话就 =?GB2312?B?
标题字符串后加:?=
-----------我的供配置参考---------
[*]<html>
[*]<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
[*]<body>
[*]<?php
[*] if(strlen($_POST["from"]) > 1)
[*]//if "email" is filled out, send email
[*] {
[*]//send email
[*]$email = $_POST["from"] ;
[*]$mailto = $_POST["mailto"];
[*]$subject = "=?UTF-8?B?" . base64_encode($_POST["subject"]) . "?=";
[*]$message = $_POST["message"] ;
[*]$header = 'MIME-Version: 1.0' . "\r\n"
[*]. "Content-type: text/html; charset=utf-8". "\r\n"
[*]. "From: <$email>"."\r\n";
[*]//echo "mailto:$mailto<br />", "Subject: $subject<br />", "message:$message<br />", "From: $email<br />" ;
[*]mail("$mailto", "$subject", $message, "$header" );
[*]echo "<br />Your mail has been sent !
[*]Thank you for using our Mail system ...<br />
[*]We shall go to main page in 3 seconds <br />";
[*] }
[*] else{
[*]echo "<center><h2>Welcome to Qunero-php Mail system </h2></center><br />";
[*]echo '<form method="post" action="index.php">
[*] From : <input type="text" name="from" /><br/ >
[*] MailTo : <input type="text" name="mailto" /><br />
[*] Subject : <input type="text" name="subject" /><br />
[*] Message : <br /><textarea name="message" rows="15" cols="80"> </textarea><br />
[*] <input type="submit" />
[*] </form>';
[*] }
[*]?>
[*]</body>
[*]</html>
页:
[1]