Я уже искал StackOverflow, пытаясь найти ответ, но ни один из ответов на похожие вопросы не решил мою проблему.
Итак, у меня есть довольно простая форма, и я хочу, чтобы она могла принимать китайские символы, а затем отправлять данные по электронной почте. (Примечание: китайские иероглифы появляются на моей веб-странице с нет выпуск)
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>';
}
}
}
?>
Мой код работает достаточно хорошо для отправки электронного письма, но если я помещу китайские символы в поле формы, в электронном письме они получатся очень странными символами.
Пожалуйста помоги!!
Вы можете использовать китайский язык внутри тела письма, используя это:
$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
}
Других решений пока нет …