gpt4 book ai didi

php - Ajax 联系表和 UTF-8

转载 作者:行者123 更新时间:2023-12-04 05:27:42 24 4
gpt4 key购买 nike

我正在使用 ajax 联系表,下载地址:http://youhack.me/2010/07/22/create-a-fancy-contact-form-with-css-3-and-jquery/

一切正常,除了 UTF,因为我在提交时不能使用西里尔符号。

php:

$name = $_POST['name']; // contain name of person
$email = $_POST['email']; // Email address of sender
$web = $_POST['web']; // Your website URL
$body = $_POST['text']; // Your message
$receiver = "receiver@domain.com" ; // hardcorde your email address here - This is the email address that all your feedbacks will be sent to

if (!empty($name) & !empty($email) && !empty($body)) {
$body = "Name: {$name}\n\nSubject: {$web}\n\nMessage: {$body}";
$send = mail($receiver, 'Contact from domain.com', $body, "From: {$email}");
if ($send) {
echo 'true'; //if everything is ok,always return true , else ajax submission won't work
}
}

它使用 jquery.validationEngine-en 进行验证。
我的 html 在标题中已经有“Content-Type” content="text/html; charset=utf-8"。

我是 php 和 jquery 的新手,所以我会在提交时使用一些指导来使 UTF-8 工作。
谢谢:)

编辑:当我尝试在必填字段上使用西里尔字符 (čšćđ) 时,出现 ajax 输入错误“请仅使用字母”。如果我在非必填字段上提交带有西里尔字符的表单,我收到并通过电子邮件发送,除西里尔文外,所有字母都显示正常,如下所示:Å¡。

编辑 2:当我将收件人设置为 gmail(网络邮件)时,西里尔字符显示正常,除了在一个字段中,Ajax 不允许我使用它们(来自 Reinder 回答的正则表达式)。

当我在 Outlook(本地)中设置收件人并提交表单时,没有一个西里尔字符不能正常显示,例如:ÄĹĄ oÄa ĹĄ ÄŽŠÄÄ

已解决 感谢 Reinder 的指导和 David!今天会解决它:)

最佳答案

查看您正在使用的插件后,我认为这与 jquery.validationEngine-en.js 中的验证正则表达式有关

当验证设置为“onlyLetter”时,它将使用

/^[a-zA-Z\ \']+$/

并且这里不允许您使用任何字符 čšćđ...

您需要为您使用的语言创建语言验证 javascript 并更改该正则表达式。例如,看看 this post

接下来是检查 PHP 文件和 header 的编码。
将它放在 PHP 代码的顶部
 header("Content-type: text/html; charset=utf-8");

仅在 PHP 中输​​出时检查值是否正确显示,如下所示:
echo $name;

如果它们在浏览器中正确显示并且只是电子邮件错误显示字符,那么您也需要将编码 header 传递给电子邮件

例子:
$headers = "From: $name <$email>\n";
$headers .= "Content-Type: text/plain; charset=UTF-8\n";
$body = "Name: {$name}\n\nSubject: {$web}\n\nMessage: {$body}";
$send = mail($receiver, 'Contact from domain.com', $body, $headers);

看看 mail function在 PHP.NET 网站上

关于php - Ajax 联系表和 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com