Php 函数的作用是:更改字符并删除换行符

Php 函数的作用是:更改字符并删除换行符,php,email,Php,Email,这就是我所拥有的: $msg = "1'2 ’3"4 “5”6 7~8!9@10#11$12%13^14&15*16(17)18}19{20"21:22?23>24<25 "; mail("myemail@example.com","My subject",$msg); 所以我想它会把字符改成html?有什么想法吗? 我需要收到的电子邮件包含我在$msg中存储的内容。谢谢 这也消除了我的回程休息。在db中,该字段具有返回断点,存储方式如下: Hello $name wel

这就是我所拥有的:

$msg = "1'2 ’3"4 “5”6 7~8!9@10#11$12%13^14&15*16(17)18}19{20"21:22?23>24<25 ";
mail("myemail@example.com","My subject",$msg);
所以我想它会把字符改成html?有什么想法吗? 我需要收到的电子邮件包含我在$msg中存储的内容。谢谢

这也消除了我的回程休息。在db中,该字段具有返回断点,存储方式如下:

Hello $name

welcome to $websitename 

thank you, management

这是一个蹩脚的例子,但正如您所看到的,有两条空行。当发送电子邮件时,这些回信中断被忽略,其内容符合任何想法,请

您必须将邮件封装在
base64
编码格式中,以防止内容损坏:

$msg = "1'2 ’3\"4 “5”6 7~8!9@10#11$12%13^14&15*16(17)18}19{20\"21:22?23>24<25";

$body = chunk_split(base64_encode($msg));

mail("myemail@example.com", "My subject", $body, "Content-Transfer-Encoding: base64");

$msg=“1'2'3\”4“5”6 7~8!9@10#11$12%13^14&15*16(17)18}19{20\'21:22?23>24尝试添加标题,如:

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);

请参见此处:

您是否尝试过在邮件标题中设置内容类型和编码?没有。我没有在标题上设置任何编码。Sudhir的回答应该对您有用。编码是我考虑的第一件事,因为在过去一周左右的几个项目中,编码问题一直困扰着我。祝您好运!返回bre如何aks?我对我的问题进行了编辑。有什么想法吗?有关于换行符的想法吗?有关于换行符的想法吗?@fogsy这取决于邮件客户端;众所周知Outlook会压缩换行符(但它有一个恢复换行符的选项)。如果你想完全控制,你应该发送HTML电子邮件。与电子邮件客户端无关,我用gmail接收电子邮件,返回间隔为gone@fogsy奇怪的是,它对我起作用了……您是否使用
“\r\n”
作为行分隔符?
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);