Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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联系人表单输入不支持变音符号_Php_Html_Contact Form - Fatal编程技术网

PHP联系人表单输入不支持变音符号

PHP联系人表单输入不支持变音符号,php,html,contact-form,Php,Html,Contact Form,我的php联系人表单代码有一个小问题。 我有我的网站使用变音符号,这是完美的工作。但是我在提交后的联系人表单输入在使用[0-9]键进行发音后看起来像这样的“ÄÅ” PHP文件: <?php $name = $_POST['name']; $email = $_POST['email']; $phone = $_POST['phone']; $service = $_POST['service']; $message = $_POST['message']; $

我的php联系人表单代码有一个小问题。 我有我的网站使用变音符号,这是完美的工作。但是我在提交后的联系人表单输入在使用[0-9]键进行发音后看起来像这样的“ÄÅ”

PHP文件:

<?php


$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$service = $_POST['service'];      
$message = $_POST['message'];      

$from = $name; 
$to = 'info@email.com'; 
$subject = "$name - $service";

$body = "Jméno zákazníka: $name\nE-Mail zákazníka: $email\nTelefonní číslo: $phone\nservice: $service\nZpráva: $message ";

if (mail ($to, $subject, $body, $from, $headers)) {
    $headers = array("Content-Type: text/html; charset=UTF-8");
} else {
    echo "Failed";
}


?>
姓名、电子邮件、电话、服务、消息等“标题”用变音符号书写,但由于某些原因,此处的输入(例如Zpráva:ÄÅÅ)不受支持

html文件还包括

<meta charset="utf-8">

更新1

试图将$headers=array(“内容类型:text/html;charset=UTF-8”);在提交联系表之前,但未进行任何更改。仍然不支持这些角色中的任何一个:ěěčřžýáíé

更多信息

还添加了问题最明显的html部分

<div class="col-lg-12">
<textarea name="message" id="" cols="30" rows="10" placeholder="Zpráva"> 
</textarea>
</div>

您需要将标题作为
邮件()的第四个参数包括在内。


您的提交表单是否也指定了UTF-8字符集?@Philip我在html文件中有我的联系人表单,其中是正文中已设置的字符集。@Ingus否,表单集中在标题上,我已设置。我想缺少一些信息。。“提交后输入”…提交后您在哪里看到它?您的PHP似乎不会重新输出任何提交的数据。你是在谈论你在电子邮件中看到的吗?如果OP想要HTML电子邮件,为什么不给出一个带有该标题的例子呢?谢谢你的解释。试过了,还是不行。得到同样的结果。同样是的,我知道这是用于纯文本的,它也是这样使用的。我想知道问题是在我收到消息“$message=$\u POST['message'];”时出现的,还是在这里打印消息“$body=”时出现的Jméno zákazníka:$name\nE Mail zákazníka:$email\nTelefonníčslo:$phone\nDruh servisu:$service\nZpráva:$message”;“但该网站完全兼容utf 8和0-9字符。当您声明$body时,您没有打印任何内容,您只是连接了一个变量。我认为问题不可能在那一点上发生。只有当您试图显示它时,编码才成为一个问题
<div class="col-lg-12">
<textarea name="message" id="" cols="30" rows="10" placeholder="Zpráva"> 
</textarea>
</div>
<?php

$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$service = $_POST['service'];      
$message = $_POST['message'];      

$from = $name; 
$to = 'info@email.com'; 
$subject = "$name - $service";

$body = "Jméno zákazníka: $name\nE-Mail zákazníka: $email\nTelefonní číslo: $phone\nservice: $service\nZpráva: $message ";

$headers = [
    'Content-Type' => 'text/plain; charset=UTF-8',
    'From' => $from,
];

if (mail($to, $subject, $body, $headers)) {
    echo "Sent";
} else {
    echo "Failed";
}