Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php邮件发送到hotmail电子邮件的阿拉伯文字符串,在hotmail电子邮件中查看时会在中以奇怪的符号显示_Php_Html_Email - Fatal编程技术网

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

通过php邮件发送到hotmail电子邮件的阿拉伯文字符串,在hotmail电子邮件中查看时会在中以奇怪的符号显示,php,html,email,Php,Html,Email,yahoo mail似乎能够显示使用$\u Post的变量以及未使用此方法声明的变量 但在hotmail中,电子邮件中只显示未声明$u Post的变量 我试图在php和html页面中都包含,但没有成功 下面的文本是发送到hotmail的电子邮件 المرسل الاسم: بشار التعليق:هذا ت&#1

yahoo mail似乎能够显示使用$\u Post的变量以及未使用此方法声明的变量 但在hotmail中,电子邮件中只显示未声明$u Post的变量

我试图在php和html页面中都包含
,但没有成功

下面的文本是发送到hotmail的电子邮件

  المرسل

    الاسم: بشار  التعليق:هذا تعليق
下面是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>

php文件
您能指出可能存在的问题吗?

标题(如from)应根据

此外,您还需要电子邮件正文 如果您想在电子邮件正文中使用ASCII以外的任何内容

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

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

$\u Post正在使用的html文件的
标记之间


瓦莱什·瓦哈德(zy sa7eb elta3lekat fo2 ynaked 3 LEK;-)

这可能是因为电子邮件不支持unicode字符,尤其是阿拉伯语,不如日语或俄语广泛支持,因此您必须更改格式才能正确显示。此外,阿拉伯语是从右向左读的,不像英语。

这与
$\u POST
无关。这是一个简单的变量,除了它是一个超全局变量外,没有什么神奇之处。您的问题在于标题内部的编码以及对
mail()
函数的错误使用。我建议您看看该函数的文档。作为第四个参数,需要一个标头数组
“المسل”
当然不是数组,也不是电子邮件的有效标题条目。您应该了解电子邮件的实际组成方式。@arkascha由于某些原因,使用$\u Post声明的变量没有正确发送到hotmail电子邮件。我也怀疑它是否存在问题,因为当我向雅虎发送电子邮件时,它确实会将表单数据传输到我的脚本中。您是否费心检查文档?你有没有看过电子邮件是如何在内部编码的?我对此表示怀疑。你期待奇迹发生。这是行不通的。PHP是一种简单的脚本语言。我们这里说的是弦。不是魔法。@arkascha我希望有人能指出问题所在,这样我就可以查出来了。不是在寻找简单的方法。对不起,我不是这样做的吗?我多次建议您查看文档。你还想在别的什么地方“查一查”?1.您必须修复如何使用
mail()
函数,您违反了它的签名和2。您必须了解电子邮件实际上是如何在内部编写的。这方面的一个良好开端是阅读文档,或者简单地查看您收到的现有电子邮件的源代码。尤其是包含阿拉伯字符的邮件。当然,电子邮件可以包含UTF序列。