http://youhack.me/2010/07/22/create-a-fancy-contact-form-with-css-3-and-jquery/からダウンロードした ajax 連絡フォームを使用しています。
送信時にキリル記号を使用できないため、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(Webメール)に設定すると、Ajaxで使用できない1つのフィールドを除いて、キリル文字が正常に表示されます(Reinderの回答からの正規表現)。
Outlook (ローカル) で受信者を設定してフォームを送信すると、キリル文字が表示されません。例: ÄĹĄ oÄa ĹĄ ÄŽŠÄÄ
解決済み ガイドのReinderと David に感謝します! 今日それを解決します:)