Php Can';t以西里尔文发送表单数据

Php Can';t以西里尔文发送表单数据,php,jquery,ajax,character-encoding,Php,Jquery,Ajax,Character Encoding,我有一个简单的联系表单(姓名、电子邮件、主题、消息),可以将消息发送到电子邮件。我用jQuery设置了客户端验证,用PHP脚本设置了服务器端验证。我已经用Ajax将它们连接起来。它可以工作,但只有当我插入拉丁字符的数据时 当我以西里尔文插入数据时,同样的格式不起作用。它不发送任何消息。我在互联网上搜索过类似的主题,在YT上搜索过一些教程,但4-5天后我还是一无所获。也许这有点像在.htaccess文件中放一些代码,但我真的不知道 这是一个基本的编码问题。确保您的表单已设置为以UTF-8发布: &

我有一个简单的联系表单(姓名、电子邮件、主题、消息),可以将消息发送到电子邮件。我用jQuery设置了客户端验证,用PHP脚本设置了服务器端验证。我已经用Ajax将它们连接起来。它可以工作,但只有当我插入拉丁字符的数据时


当我以西里尔文插入数据时,同样的格式不起作用。它不发送任何消息。我在互联网上搜索过类似的主题,在YT上搜索过一些教程,但4-5天后我还是一无所获。也许这有点像在.htaccess文件中放一些代码,但我真的不知道

这是一个基本的编码问题。确保您的表单已设置为以UTF-8发布:

<form method="post" action="/your/url/" accept-charset="UTF-8">
</form>

来源:

对于此类问题是否有通用标签?就在昨天,有人在用希伯来语提交表格时遇到了问题。我们有[utf-8],但提问者很少知道这是什么。我不确定:)这是初学者常见的问题。都是用脚本设置的。它的形式是将消息发送到电子邮件,而不是mysql数据库。调试服务器日志。您应该看到POST请求以及是否正在发送数据。您在表单中输入的任何内容都不太可能阻止它至少发送。当我查看Console时,我看到它发送所有必需的数据,因此im舒尔是它的发送对象。如果它不工作,它就不会用拉丁语发送消息。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') {
  $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
  mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
}