阿拉伯字符串,通过php邮件发送到hotmail邮件,在hotmail邮件中查看时以奇怪的符号显示

时间:2015-01-01 20:43:48

标签: php html email

雅虎邮件似乎能够显示使用$ _Post的变量以及使用此方法声明的变量 但是在hotmail中,只有在没有$ _Post的情况下声明的变量才会显示在电子邮件中

我试图在php和html页面中包含<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>,但没有成功

以下文字是发送至hotmail的电子邮件

  المرسل

    الاسم: &#1576;&#1588;&#1575;&#1585;  التعليق:&#1607;&#1584;&#1575; &#1578;&#1593;&#1604;&#1610;&#1602;

php代码在

之下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title> php file</title>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

  <body dir="rtl">

<?php
$fname= $_POST['firstName'];
$lname= $_POST['lastName'];
$email= $_POST['email'];
$comment=$_POST['comment'];
$from = "المرسل ";


  $msg = "الاسم: $fname\n"."التعليق:$comment\n";

  $subject= "Visitor comment";

  $to= "example@hotmail.com";

  mail($to,$subject,$msg, $from);




?>
</body>
</html>

你能指出可能出现的问题吗?

3 个答案:

答案 0 :(得分:0)

标题(如from)应根据RFC-2048

进行格式化

对于电子邮件正文,您还需要mime encoding 如果你想在电子邮件正文中使用除ASCII以外的任何东西

我不知道一个简单的方法可以很好地做到这一点,但是如果您搜索这些术语,那么有很多简单的代码可以解决完整问题空间的子集

答案 1 :(得分:0)

插入

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

在$ _Post正在使用的html文件的<head>个标签之间

w t5alesh wa7ad 3rs zy sa7eb elta3lekat fo2 ynaked 3alek; - )

答案 2 :(得分:-2)

这可能是电子邮件不支持unicode charecters,特别是阿拉伯语不像日语或俄语那样受到广泛支持,因此您必须更改格式才能使其正常显示。此外,与英语不同,阿拉伯语从右到左阅读。