2013-01-23 21 views
1

我有一个简单的联系表单(名称,电子邮件,主题,消息),它将消息发送到电子邮件。我使用jQuery设置了客户端验证,并使用PHP脚本进行了服务器端验证。我已将它们与Ajax连接起来。它的工作原理,但只有当我用拉丁字符插入数据。无法以西里尔文发送表单数据

当我用西里尔文插入数据时,相同的表单不起作用。它不发送任何消息。我在互联网上搜索过类似的主题,而YT搜索了一些教程,但4-5天后我仍然没有任何东西。也许这就像在.htaccess文件中加入一些代码,但我真的不知道。

回答

3

这是一个基本的编码问题。确保您的形式设置为POST为UTF-8:

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

然后确保你有正确发送电子邮件:

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

另外,还要确保您的网页使用正确的标题交付UT8标题。我发现这个代码:

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); 
} 

来源:http://bitprison.net/php_mail_utf-8_subject_and_message

+0

是否有这样的问题,一个共同的标签?就在昨天,有人在用希伯来语提交表格时遇到了问题。我们有[utf-8],但提问者很少知道那是什么。 – Blazemonger

+0

我不确定这是初学者常见的问题。 – Dean

+0

我已经allready在我的脚本中设置。 – Kreator