发送带有希腊字符的电子邮件并没有正确显示(使用HTML,Javascript,PHP)

时间:2017-12-25 18:52:08

标签: php html forms utf-8 mailto

我正在尝试创建一个联系表单,打开一个新窗口进行确认,从该窗口,它必须打开Outlook,其中包含我填写表单的详细信息。我知道我必须使用某种编码,但我无法让它工作。 我从我的代码修改了它,用你在contact.html上开始的实际代码,你输入你的详细信息,然后你点击提交和form.php打开,显示数据,它有隐藏的输入框,也有数据,所以他们可以使用mailto在邮件中显示。 Image

My form.php code



<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Test</title>
    <link rel="stylesheet" type="text/css" href="style.css">
  </head>
  <body>
    <form action="mailto:abc123@gmail.com" method="post" enctype="x-www-form-urlencoded">
      <table>
	<tr>
          <td>Name:</td>
          <td><input id="name" type="text" name="name" value="Ύθιρτυθριςδ"></td>
        </tr>
        <tr>
          <td>Surname:</td>
          <td><input id="surname" type="text" name="surname" value="κσξγΙέκεε"></td>
        </tr>
	<tr>
          <td>Tel:</td>
          <td><input id="tel" type="text" name="tel" value="12345"></td>
        </tr>
        <tr>
          <td>E-mail:</td>
          <td><input id="email" type="text" name="email" value="qwerty@gmail.com"></td>
        </tr>
	<tr>
          <td>Request:</td>
          <td><input id="text" type="text" name="Request" value="ΑΒΓΔεζήθίκ"></td>
        </tr>
       </table>
      <br><br>
    <input type="submit" value="Send">
   </form>
  </body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您打开电子邮件的脚本目前的工作方式如下:

  • 点击提交按钮,目标为“mailto:”
  • 邮件程序打开
  • 电子邮件正文充满了URL的内容(URL参数),因此看起来神秘的电子邮件正文。

为避免这种情况,我建议将发送部分外包给一个函数。 例如。当用户点击提交按钮时,调用该函数发送电子邮件并构建实际的“链接”,如下所示: "mailto:you@yourdomain.com?subject=YOURSUBJECT&body=YOURCONTENT"

当然,您可以使用字符串连接来使用表单的值来构建字符串。这应该可以解决问题。