2016-01-21 8 views
0

Я уже проверил StackOverflow, пытаясь найти ответ, но ни один из ответов, предоставленных на подобные вопросы, не решил мою проблему.Как я могу отправить PHP китайским иероглифам по электронной почте?

Итак, у меня есть довольно простая форма, и я хочу, чтобы она могла принимать китайские символы, а затем отправлять данные по электронной почте. (Примечание: китайские символы появляются на веб-странице с не выпуска)

HTML:

<!doctype html> 
<html> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<head> 
<link href="tour.css" rel="stylesheet"> 
</head> 
<body> 

<?php include('tour-form.php') ?> 

<div class="form"> 
     <div class="row"> 
     <div class="container"> 
       <br> 

      <form class="form-horizontal" role="form" method="post" action="tour.html"> 

       <div class="form-group"> 
         <label for="name" class="col-xs-2 control-label">姓名</label> 
         <div class="col-xs-10"> 
          <input type="text" class="form-control" id="name" name="name" placeholder="您叫?" value="<?php echo htmlspecialchars($_POST['name']); ?>"> 
          <?php echo "<p class='text-danger'>$errName</p>";?> 
         </div> 
        </div> 

      </form> 
     </div> 
    </div> 
</div> 

</body> 
</html> 

PHP:

<?php 
    if (isset($_POST["submit"])) { 
     $name = $_POST['name']; 

     $to = '[email protected]'; 
     $subject = 'New Form'; 

     $body = "Customer: $name\n"; 

     // Check if name has been entered 
     if (!$_POST['name']) { 
      $errName = 'Please enter your name'; 
     } 
    // If there are no errors, send the email 
if (!$errName) { 
    if (mail ($to, $subject, $body, $from)) { 
     $result='<div class="alert alert-success">Form Submitted!</div>'; 
    } else { 
     $result='<div class="alert alert-danger">Error!</div>'; 
    } 
} 
    } 
?> 

Мой код работает достаточно хорошо, чтобы отправить электронную почту, но если я положить китайских символов в поле формы, в электронном сообщении они выходят как действительно странные символы.

Пожалуйста, помогите!

+0

набор 'headers' с UTF –

+0

Можете ли вы объяснить более ясно, как это сделать? –

+0

«Предупреждение: невозможно изменить информацию заголовка - уже отправленные заголовки (вывод запущен в /srv/disk8/2021869/www/maitxhomes.com/tour.html:12) в /srv/disk8/2021869/www/maitxhomes.com/ tour-form.php on line 3 " Вот что появилось в верхней части страницы после того, как я добавил это: –

ответ

1

Вы можете использовать китайский язык в теле сообщения электронной почты с помощью этого:

$headers = 'From: [email protected]' . "\r\n"; 
$headers .= "Content-Type: text/html; charset=UTF-8"; // add header 
if (mail ($to, $subject, $body, $headers)) { 
    // your stuff 
} else { 
    // your stuff 
} 

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

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