2016-11-28 16 views
0

Я замораживаю все поля формы и выдаю почту, когда нажимаю кнопку отправки. На выходе почты существует проблема турецкого характера.Контактный формуляр Турецкий персонаж

contact.html

<div class="col-lg-6"> 
    <div class="well"> 
    <h3>İletişim Formu</h3> 
    <form role="form" id="contactForm" data-toggle="validator" class="shake"> 
     <div class="row"> 
      <div class="form-group col-sm-6"> 
       <label for="name">Ad Soyad</label> 
       <input type="text" class="form-control" id="name" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
      <div class="form-group col-sm-6"> 
       <label for="email">Email</label> 
       <input type="email" class="form-control" id="email" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="form-group col-sm-6"> 
       <label for="telefon">Telefon</label> 
       <input type="text" class="form-control" id="telefon" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
      <div class="form-group col-sm-6"> 
       <label for="konu">Konu</label> 
       <input type="text" class="form-control" id="konu" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <div class="help-block with-errors"></div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="sektor">Sektör</label> 
      <select class="form-control" id="sektor" placeholder="" required data-error="Lütfen bu alanı doldurun."> 
       <option value="Özel" selected="selected">Özel</option> 
       <option value="Projeci">Projeci</option> 
       <option value="Satıcı">Satıcı</option> 
       <option value="Uygulayıcı">Uygulayıcı</option> 
       <option value="Diğer">Diğer</option> 
      </select> 
     </div> 
     <div class="form-group"> 
      <label for="message">Mesajınız</label> 
      <textarea id="message" class="form-control" rows="5" placeholder="" required data-error="Lütfen bu alanı doldurun."></textarea> 
      <div class="help-block with-errors"></div> 
     </div> 
     <button type="submit" id="form-submit" class="btn btn-success btn-lg pull-right ">Gönder</button> 
     <div id="msgSubmit" class="text-center hidden"></div> 
     <div class="clearfix"></div> 
    </form> 
    </div> 
</div> 

форм-script.js

$("#contactForm").validator().on("submit", function (event) { 
    if (event.isDefaultPrevented()) { 
     // handle the invalid form... 
     formError(); 
     submitMSG(false, "Tüm alanları doldurdunuz mu?"); 
    } else { 
     // everything looks good! 
     event.preventDefault(); 
     submitForm(); 
    } 
}); 


function submitForm(){ 
    // Initiate Variables With Form Content 
    var name = $("#name").val(); 
    var email = $("#email").val(); 
    var message = $("#message").val(); 
    var telefon = $("#telefon").val(); 
    var konu = $("#konu").val(); 
    var sektor = $("#sektor").val(); 

    $.ajax({ 
     type: "POST", 
     url: "php/form-process.php", 
     data: "name=" + name + "&email=" + email + "&telefon=" + telefon + "&konu=" + konu + "&sektor=" + sektor + "&message=" + message, 
     success : function(text){ 
      if (text == "success"){ 
       formSuccess(); 
      } else { 
       formError(); 
       submitMSG(false,text); 
      } 
     } 
    }); 
} 

function formSuccess(){ 
    $("#contactForm")[0].reset(); 
    submitMSG(true, "Message Submitted!") 
} 

function formError(){ 
    $("#contactForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){ 
     $(this).removeClass(); 
    }); 
} 

function submitMSG(valid, msg){ 
    if(valid){ 
     var msgClasses = "text-center tada animated text-success"; 
    } else { 
     var msgClasses = "text-center text-danger"; 
    } 
    $("#msgSubmit").removeClass().addClass(msgClasses).text(msg); 
} 

форм-process.php

<?php 

$errorMSG = ""; 

// NAME 
if (empty($_POST["name"])) { 
    $errorMSG = "Name is required "; 
} else { 
    $name = $_POST["name"]; 
} 

// EMAIL 
if (empty($_POST["email"])) { 
    $errorMSG .= "Email is required "; 
} else { 
    $email = $_POST["email"]; 
} 

// TELEFON 
if (empty($_POST["telefon"])) { 
    $errorMSG .= "Telefon is required "; 
} else { 
    $telefon = $_POST["telefon"]; 
} 

// KONU 
if (empty($_POST["konu"])) { 
    $errorMSG .= "Konu is required "; 
} else { 
    $konu = $_POST["konu"]; 
} 

// SEKTOR 
if (empty($_POST["sektor"])) { 
    $errorMSG .= "Sektor is required "; 
} else { 
    $sektor = $_POST["sektor"]; 
} 

// MESSAGE 
if (empty($_POST["message"])) { 
    $errorMSG .= "Message is required "; 
} else { 
    $message = $_POST["message"]; 
} 


$EmailTo = "[email protected]"; 
$Subject = "New Message Received"; 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $name; 
$Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $email; 
$Body .= "\n"; 
$Body .= "Telefon: "; 
$Body .= $telefon; 
$Body .= "\n"; 
$Body .= "Konu: "; 
$Body .= $konu; 
$Body .= "\n"; 
$Body .= "Sektör: "; 
$Body .= $sektor; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $message; 
$Body .= "\n"; 

// send email 
$success = mail($EmailTo, $Subject, $Body, "From:".$email); 

// redirect to success page 
if ($success && $errorMSG == ""){ 
    echo "success"; 
}else{ 
    if($errorMSG == ""){ 
     echo "Something went wrong :("; 
    } else { 
     echo $errorMSG; 
    } 
} 

?> 

почты Выход

Name: Ahmet 
Email: [email protected] 
Telefon: 05636588110 
Konu: üğ 
Sektör: Özel 
Message: üğiğ 
+1

Вы не установили соответствующий заголовок Content-Type для самого письма, а только заголовок 'From'. – CD001

ответ

0

Решение проблемы. Эрол Кескин Спасибо.

$success = mail($EmailTo, '=?utf-8?B?'.base64_encode($Subject).'?=', $Body, 'MIME-Version: 1.0' . "<br>".'Content-type: text/html; charset=utf-8' . "<br>".'From: '.$email . "\r\n"); 
0

Попробуйте добавить параметр кодировки на запрос AJAX, так как:

$.ajax({ 
    type: "POST", 
    url: "php/form-process.php", 
    data: "name=" + name + "&email=" + email + "&telefon=" + telefon + "&konu=" + konu + "&sektor=" + sektor + "&message=" + message, 
    contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
    success : function(text){ 
     if (text == "success"){ 
      formSuccess(); 
     } else { 
      formError(); 
      submitMSG(false,text); 
     } 
    } 
}); 
+0

Я пробовал, но та же проблема продолжается. –

0

Вставка

<meta charset="utf-8"/> 

в верхней части секции Head. Пример использования:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"/> 
    ...etc 
</head> 
... 
+0

Я добавил их все. Но проблема продолжается. –

+0

kardeşim ekledim ama sorun devam ediyor. –

+0

$ success = mail ($ EmailTo, '=? Utf-8? B ?. base64_encode ($ Subject).'? = ', $ Body,' MIME-Version: 1.0 '. "\ R \ n".' Content-type: text/html; charset = utf-8 '. "\ R \ n".' From: '. $ Email. "\ R \ n"); bunu bir denermisin dostum –

-1

Это выводится в электронном виде, поэтому вам необходимо также установить соответствующий заголовок; в настоящее время вы устанавливаете только заголовок From.

// send email 
$success = mail(
    $EmailTo, 
    $Subject, 
    $Body, 
    "From: {$email}\r\nContent-Type: text/plain;charset=utf8" 
    ); 

Смотрите раздел Дополнительные заголовки: http://php.net/manual/en/function.mail.php

как в сторону, в зависимости от почтового сервера, вам может потребоваться настроить ваши терминаторы строки в строке заголовка - Postfix ожидает, что они будут в формате относящихся к ОС, поэтому \n на системах * nix. Это маловероятно сломать ничего, кроме ...

+0

Я добавил код, который вы отправили. Но проблема продолжается. –

 Смежные вопросы

  • Нет связанных вопросов^_^